Skip to end of metadata
Go to start of metadata

이 문서는 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가 생성이 된다.

  • No labels