5. SULinux 2.0 DB서버(MySQL) 설정 및 운영 - SULinux 2.0 공개강좌
작성자 정보
- 웹관리자 작성
- 작성일
컨텐츠 정보
- 15,245 조회
- 0 추천
- 목록
본문
5. SULinux 2.0 DB서버(MySQL) 설정 및 운영

MySQL은 데이터 관리를 효율적으로 하기 위해 사용하는 DBMS중 하나입니다. MySQL은 빠르고 강력한 DBMS를 목표로 개발되어 왔습니다. 예전 버전에는 DBMS가 갖추어야 할 기본적인 기능도 없이 단지 빠른 DBMS를 목표로 하였지만, 5.X 버전부터는 내장함수 등 다양한 기능을 가지게 되었습니다. 리눅스에서 구축되는 서버 환경이 APM이라고 할 만큼 Apache와 PHP, MySQL을 많이 사용합니다. SULinux는 APM-Install-tools를 통하여 빠르고 쉽게 MySQL을 설치 할 수 있습니다. SULinux는 다양한 버전의 MySQL을 제공하고 있습니다. 설치 방법은 APM_Install-tools편을 참조하시기 바랍니다.
1. MySQL의 동작 구조

위 그림은 MySQL의 동작구조를 나타낸 그림입니다. MySQL은 Server/Client 구조로 작동하며, 서버와 클라이언트 접속을 위해 TCP 3306 포트를 사용합니다. SULinux는 MySQL 서버 및 커맨드라인 클라이언트, PHP MySQL 클라이언트가 기본 설치되어 있습니다.
2. MySQL 서버 접속 확인
MySQL은 Server/Client 구조로 작동됩니다. 그렇기 때문에 MySQL 서버에 접속하기 위해서는 Client가 필요합니다. 커맨드라인에서 사용하는 mysql, mysqldump 등의 명령어는 MySQL의 클라이언트입니다.

위와 같이 mysql 명령어를 사용하여 mysql 서버에 접속 할 수 있습니다. 접속된 상태에서는 MySQL의 여러 가지 쿼리 및 명령어를 사용할 수 있습니다.
* SULinux의 MySQL은 초기 root 비밀번호가 없습니다. 다음 명령어를 사용하여 새로운 비밀번호를 입력하시기 바랍니다.
![]()
위와 같이 변경하고자 하는 비밀번호를 넣어 주어 비밀번호를 설정할 수 있습니다.
3. MySQL 시작 및 종료
MySQL Server는 항상 실행하고 있는 서버 프로그램입니다. SULinux는 MySQL을 서비스 프로그램으로 관리하며 다음과 같이 관리할 수 있습니다.
SULinux의 “서비스 설정”에서 MySQL을 시작, 종료, 재시작 할 수 있습니다.
시작 => 시스템 => 관리 => 서버 설정 => 서비스 설정

위 그림은 MySQL을 시작, 종료, 재시작 할 수 있는 “서비스 설정”입니다. 위 그림의 서비스 중 “mysqld”을 선택하고
,
,
아이콘을 눌러 원하는 작업을 할 수 있습니다.
콘솔 접속하여 MySQL을 시작, 종료, 재시작 할 수 있습니다.

위 그림은 service 명령어를 사용하여 mysqld를 시작, 재시작, 종료 한 결과입니다. 위와 같은 방법으로 MySQL 서버를 제어 할 수 있습니다.
4. MySQL 설정 및 운영
1. SULinux 전용툴을 통한 MySQL 사용자 관리
mysql의 사용자 설정은 서버에서 사용자 설정하는 것 보다 까다롭습니다. 입력해야 할 것들이 많고 많은 시간을 필요로 합니다. 이 번거로운 사용자 설정을 명령어 한 줄로 할 수 있는 명령어 su_dbuser를 SULinux는 제공합니다.
(mysql 3.23.* , mysql 4.0.*, mysql 4.1.* , mysql 5.0.*, MySQL 5.1.* 모두 사용가능합니다.)
1) DB 사용자 및 DB 데이터베이스 생성
su_dbuser명령어로 쉽게 DB를 생성하고, DB 사용자를 생성 할 수 있습니다.
![]()
위 명령어에서 DB명, DB사용자명, DB사용자의 비밀번호를 입력합니다. 실행하면, DB생성, user테이블에 사용자생성, db 테이블에 생성된 DB을 접근할 수 있게 생성된 사용자에게 권한을 부여합니다.

위와 같이 입력하면 testdb 가 생성되며, testdb 사용자가 생성되고, testdb 사용자의 비밀번호는 12345가 됩니다. 그리고 testdb사용자로 로그인 하면 testdb를 사용할 수 있습니다.
다음은 설정된 값을 DB에 접속하여 쿼리로 확인한 결과입니다.

2) DB 사용자 비밀번호 변경
su_dbuser명령어로 쉽게 DB 사용자의 비밀번호를 변경할 수 있습니다.
![]()
위 명령어에서 DB사용자명, DB사용자의 비밀번호를 입력합니다. DB사용자 비밀번호를 입력한 비밀번호로 변경됩니다.

위와 같이 입력하면 testdb 사용자의 비밀번호가 qwer으로 변경됩니다.
3) DB 사용자 및 DB 삭제
su_dbuser명령어로 쉽게 DB 및 DB사용자를 삭제할 수 있습니다.
![]()
위 명령어에서 DB 및 DB 사용자를 삭제합니다. DB사용자명, DB사용자의 비밀번호를 입력합니다. DB사용자 비밀번호를 입력한 비밀번호로 변경됩니다.

위와 같이 입력하면 testdb 사용자 및 testdb 를 삭제합니다.
2. DB 데이터 백업 및 복원
시스템이 어떠한 이유로 장애가 발생했을 때 최악의 경우 가장 힘이 되는 것은 바로 백업 데이터입니다. 백업은 아무리 강조해도 더하지 않을 만큼 아주 중요합니다. MySQL은 데이터를 백업하기 위한 프로그램을 제공합니다. 다음 방법으로 백업 및 복원하시기 바랍니다.
1) 전체 백업 및 복원
백업
![]()
복원
![]()
2) 일부 DATABASE 만 백업 및 복원
백업
![]()
복원
![]()
(복원 하려는 DB는 존재 해야 합니다.)
3) 일부 TABLE만 백업 및 복원
백업
![]()
복원
![]()
(복원 하려는 DB는 존재 해야 합니다.)
3. mysql root 비밀번호 잊어 먹었을 때.
서버의 경우 처음 설치 후 몇 년이고 방치하는 경우가 많습니다. 리눅스 시스템의 root비밀번호를 잊어버리면, single 모드로 들어가서 비밀번호를 변경합니다. 그렇다면, MySQL DB의 root 비밀번호를 잊어 버렸을 때는 어떻게 해야 할까요?
MySQL의 root 비밀번호를 잊어 버렸을 때 처리하는 방법은 다음과 같습니다.
먼저 , DB서버를 정지 합니다.
![]()
위 명령어로 불가능 하다면, killall mysqld 명령어로 mysql 프로세스를 모두 죽입니다.
인증을 생략하는 옵션을 넣어 MySQL을 시작합니다.
4.0.XX이후 버전.
![]()
3.23.XX
![]()
위 명령어를 실행하면, MySQL 서버는 로그인 시 인증을 요청하지 않습니다. 그렇기 때문에 인증없이 로그인을 할 수 있습니다.
(주의) 위와 같이 MySQL을 시작 한 후에는 비밀번호 없이 MySQL에 접속 할 수 있기 때문에 매우 위험합니다. 꼭! 비밀번호 변경 후 정상적으로 MySQL을 시작하시기 바랍니다.

이렇게 입력하면, MySQL root 비밀번호가 변경됩니다. MySQL을 정지하고 재시작 합니다.
![]()
3. DB 상태 확인
어떠한 이유로 MySQL서버가 비정상 적이거나, 현재 접속된 커넥션을 확인하고, 어떤 쿼리를 던지고 있는지, 커넥션의 상태는 어떻는지, 커넥션 시간이 얼마나 되는지 등을 알아 볼 필요가 있을 때가 있습니다. 이런 경우 다음 명령어를 이용하면 쉽게 MySQL 서버 상태를 파악 할 수 있습니다.

위와 같이 입력하면, 1초 간격으로 조사하여 보여 줍니다. DB 서버 모니터링 하기에 아주 유용합니다.









본 강좌는 SULinux 2.0 GUI “사용설명서”를 참조하였습니다. 본 강좌의 개선점이나, 오타등이 있으면 service@linux.kr으로 알려주시기 바라며, 그 밖의 질문은 sulinux.net으로 해 주시기 바랍니다. 2010년 1월에 연구소장 에스유.
관련자료
-
이전
-
다음
