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

MYSQL 보안을 위한 전용관리계정으로 MYSQL 시작하기

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

MYSQL 보안을 위한 전용관리계정으로 MYSQL 시작하기

 

 

 

 

 

 

MYSQL을 시스템의 root권한으로 실행시키게 되면 시스템보안에 좋지않다.

 

 

 

 

 MYSQL root암호가 알려질 경우 시스템에 큰 위험이 생길 수 있기 때문이다.

 

 

 

 

 따라서 MYSQLroot로 실행하는 것 보다는 MYSQL전용 관리계정( : mysql)을 만들어서 그 계정으로 MYSQL을 실행시키는 것이 좋다.

 

 

 

 

 

 

필자의 경우에는 mysql이라는 계정으로 MYSQL을 실행하여 관리하고있다.

 

 

 

 

  여기서 의미하는 mysql이라는 계정은 MYSQL의 계정이 아니라 MYSQL자체를 관리하기 위한 리눅스 시스템계정이라는 점을 명심하기 바란다.

 

 

 

 

 MYSQL의 현재버전에서는 mysql이라는 계정으로만 실행되도록 되어 있으므로 이제는 이것이 기본설정사항이 되었다.

 

 

 

 

 

 

이와같이 mysql이라는 MYSQL 관리 시스템계정으로 MYSQL을 시작하려면 최소한 MYSQL 의 데이터디렉토리(/usr/local/mysql/data)와 그안에 존재하는 모든 파일들이 mysql의 소유로 되어있어야 한다.

 

 

 

 

 MYSQL데이터베이스의 데이터들이 생성/삭제/수정되는 위치가 바로 /usr/local/mysql/data이기 때문에 mysql이 이디렉토리이하의 모든 파일과 디렉토리들에 대한 수정과 삭제권한이 있어야하기 때문이다.

 

 

 

 

 

 

따라서 mysql이라는 시스템계정을 useradd명령어로 생성하신 다음 아래와 같이 /usr/local/mysql/data디렉토리 이하의 모든 파일들을 mysql계정 소유로 변경하기 바란다.

 

 

 

 

 

 

[root@sulinux bin]#chown -R mysql:mysql /usr/local/mysql/data

[root@sulinux bin]#

[root@sulinux bin]#ls -l /usr/local/mysql/data/

합계 40

drwx------ 2 mysql mysql 4096  4 15  2011 mysql

srwxrwxrwx 1 mysql mysql    0  4 28 07:18 mysql.sock

drwx------ 2 mysql mysql 4096  4 28 06:32 picasso_db

drwx------ 2 mysql mysql 4096  4 28 06:46 sspark_db

-rw-rw---- 1 mysql mysql 3811  4 29 00:47 sulinux.net.err

-rw-rw---- 1 mysql mysql 8704  4 28 07:53 sulinux.net.err-old

drwx------ 2 mysql mysql 4096  4 28 07:33 temp_db

drwx------ 2 mysql mysql 4096  4 28 07:40 temp_db2

drwx------ 2 mysql mysql 4096  4 15  2011 test

[root@sulinux bin]#

 

 

 

 

 

이렇게 설정한 후에 mysql 이라는 계정으로 MYSQL을 시작한 예이다.

 

 

 

 

 

 

[mysql@sulinux ~]#id

uid=507(mysql) gid=508(mysql) groups=508(mysql)

[mysql@sulinux ~]#

[mysql@sulinux ~]#/usr/local/mysql/bin/mysqld_safe &

[1] 3718

[mysql@sulinux ~]#090429 00:52:52 mysqld_safe Logging to '/usr/local/mysql/data/sulinux.net.err'.

090429 00:52:52 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data

 

[mysql@sulinux ~]#

 

 

 

 

이상과 같이 root가 아닌 MYSQL전용 관리계정으로 MYSQL을 시작하고 관리한다면 서버보안을 위한 훌륭한 선택이 될 수 있을 것이다.

 

 

 

 

관련자료

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

공지사항


뉴스광장


  • 현재 회원수 :  60,035 명
  • 현재 강좌수 :  35,800 개
  • 현재 접속자 :  197 명