이 문서는 CentOS 7에서 Mysql data directory 변경에 대한 가이드를 제공한다.
설치 환경
OS : CentOS 7.3.1611
DB : Mysql 5.6.35
변경 방법
Mysql datadir 경로 확인 및 Mysql service 중지
mysql 접속 하여 아래와 같은 명령어로 datadir 경로를 확인 하고 서비스를 중단 한다.
mysql> select @ @datadir ;
+-----------------+
| @ @datadir |
+-----------------+
| /var/lib/mysql/ |
+-----------------+
1 row in set ( 0.00 sec)
\q
systemctl stop mysql
|
새로운 Mysql datadir 생성 및 경로 복사 하기
아래와 같은 명령어로 새로운 Mysql datadir 생성 후 Mysql datadir 경로 복사 한다. 권한 또한 부여 한다.
mkdir /data/
rsync -av /var/lib/mysql /data/
chown -R mysql:mysql /data/mysql
|
my.cnf 파일 수정
/etc/my.cnf을 아래와 같이 수정 한다.
vi /etc/my.cnf
[mysqld]
datadir=/data/mysql
socket=/data/mysql/mysql.sock
[client]
socket=/data/mysql/mysql.sock
#symbolic-links= 0
#sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
|
SELinux 보안 context에 추가 및 서비스 시작
아래와 같은 명령어로 SELinux 보안 context에 적용을 시키고 서비스를 시작한다.
semanage fcontext -a -t mysqld_db_t "/data/mysql(/.*)?"
restorecon -R /data/mysql
systemctl start mysql
|
변경된 datadir 확인 하기
mysql접속 하여 datadir 경로가 바뀌었음을 확인 할 수 있다.
mysql> select @ @datadir ;
+--------------+
| @ @datadir |
+--------------+
| /data/mysql/ |
+--------------+
1 row in set ( 0.00 sec)
|
database가 생성 될 때마다 /data/mysql/ 아래로 database가 생성이 된다.