강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

5. SULinux 2.0 DB서버(MySQL) 설정 및 운영 - SULinux 2.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월에 연구소장 에스유.

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,156 명
  • 현재 강좌수 :  36,513 개
  • 현재 접속자 :  233 명