본문 바로가기

개발/Database

MySQL 데이터 디렉토리(datadir) 옮기기

아래 내용은 Ubuntu/GNU Linux 11.04 를 기반으로 한다.


- MySQL 서버 중지 후 데이터 디렉토리의 내용을 새 디렉토리로 복사

sudo /etc/init.d/mysql stop

sudo cp -rp /var/lib/mysql 새 데이터 디렉토리(예: /mnt/DATA/mysql/data)

sudo cp -rp /var/log/mysql 새 로그 디렉토리(예: /mnt/DATA/mysql/log)


- apparmor 설정 변경 : apparmor 설명

sudo vi /etc/apparmor.d/usr.sbin.mysqld

주석처리 or 삭제

/var/lib/mysql/ r,
/var/lib/mysql/** rwk,
/var/log/mysql/ r,
/var/log/mysql/* rw,

추가

/새 데이터 디렉토리/ r,
/새 데이터 디렉토리/** rwk,
/새 로그 디렉토리/ r,
/새 로그 디렉토리/* rw,


- MySQL 설정 변경

sudo vi /etc/mysql/my.cnf

주석처리 or 삭제

datadir=/var/lib/mysql
general_log_file        = /var/log/mysql/mysql.log
log_error                = /var/log/mysql/error.log
log_slow_queries    = /var/log/mysql/mysql-slow.log

추가

datadir = /새 데이터 디렉토리
general_log_file        = /새 로그 디렉토리/mysql.log
log_error                = /새 로그 디렉토리/error.log
log_slow_queries    = /새 로그 디렉토리/mysql-slow.log


- apparmor 및 mysql 재기동

sudo /etc/init.d/apparmor restart

sudo /etc/init.d/mysql restart


- 이전 파일 백업 or 삭제

sudo mv /var/lib/mysql/ /var/lib/mysql_bak

or

sudo rm -r /var/lib/mysql/