DBMS/MySQL

[MySQL] 데이터 경로 변경하는 방법

쌍쌍바나나 2016. 6. 21. 22:30
반응형

MySQL 데이터 경로 변경하는 방법

MySQL의 데이터가 저장되는 경로는 기본적으로 /var/lib/mysql에 저장이 됩니다. 하지만 다른 추가적인 HDD에 저장을 하고 싶을때는 데이터가 저장될 경로를 변경하시면 됩니다.


데이터 저장소 생성하기

/var/lib/mysql의 기존 경로를 /media/hdd/mysql로 변경하는 방법입니다. 시작을 하기 전에 mysql server를 stop을 합니다.

$ sudo service mysql stop
stop mysql Create the new directory:

새롭게 데이터가 저장될 경로를 생성합니다.

$ mkdir /media/hdd/mysql

기존의 /var/lib/mysql의 정보를 새로운 경로인 /media/hdd/mysql로 복사를 합니다.

$ cp -R /var/lib/mysql /array2/mysql


데이터 저장소 연결하기

기존의 경로인 /var/lib/mysql을 /media/hdd/mysql로 변경하는 방법입니다.

$ sudo vi /etc/mysql/my.cnf
[mysqld]
#
# * Basic Settings
#
user            = mysql
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
port            = 3307
basedir         = /usr
#datadir                = /var/lib/mysql
datadir         = /media/hdd/mysql
tmpdir          = /tmp
lc-messages-dir = /usr/share/mysql

새롭게 저장할 폴더의 권한을 mysql:mysql로 변경을 합니다.

$ chown -R mysql:mysql /media/hdd/mysql

기존의 mysql폴더를 backup을 한 뒤에 생성한 mysql의 폴더를 기존의 mysql로 연결을 해줍니다.

$ mv /var/lib/mysql /var/lib/mysql-old
$ ln -s /media/hdd/mysql /var/lib/mysql 

AppArmor에 datadir을 등록한 뒤에, apparmor profiles을 다시 로딩을 합니다.

$ echo "alias /var/lib/mysql/ -> /your/new/datadir/," >> /etc/apparmor.d/tunables/alias
$ sudo /etc/init.d/apparmor reload

mysql서버를 재시작해주면 이제 datadir이 변경된 것을 확인할 수 있습니다.

$ sudo service mysql restart


반응형