Mysql datadir 경로 확인 및 Mysql service 중지
mysql 접속 하여 아래와 같은 명령어로 datadir 경로를 확인 하고 서비스를 중단 한다.
[root@mail ~]# mysql mysql mysql> select @@datadir; +-----------------+ | @@datadir | +-----------------+ | /var/lib/mysql/ | +-----------------+ 1 row in set (0.00 sec) \q [root@mail ~]# systemctl stop mysql
새로운 Mysql datadir 생성 및 경로 복사 하기
새로운 Mysql datadir 생성 후 Mysql datadir 경로 복사 한다. 권한 또한 부여 한다.
[root@mail ~] mkdir /data/ [root@mail ~] rsync -av /var/lib/mysql /data/ [root@mail ~] chown -R mysql:mysql /data/mysql
my.cnf 파일 수정
/etc/my.cnf 수정 한다.
[root@mail ~]# 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에 적용을 시키고 서비스를 시작한다.
[root@mail ~]# semanage fcontext -a -t mysqld_db_t "/data/mysql(/.*)?" [root@mail ~]# restorecon -R /data/mysql [root@mail ~]# systemctl start mysql
변경된 datadir 확인 하기
mysql접속 하여 datadir 경로 확인.
mysql> select @@datadir; +--------------+ | @@datadir | +--------------+ | /data/mysql/ | +--------------+ 1 row in set (0.00 sec)