Linux
[Linux] CentOS7 - MariaDB10.x - datadir변경
ImFe
2021. 1. 12. 11:28
MariaDB의 데이터 디렉토리를 /home/mysql-data로 바꿔주는것이 목표입니다.
sudo systemctl stop mariadb //mariadb 정지
sudo rsync -av /var/lib/mysql /home/mysql-data //데이터 복사
sudo chown -R mysql:mysql /home/mysql-data //소유권 변경
완료되었다면 vi /etc/my.cnf로 아래와 같이 수정
[mysqld]
datadir=/home/data/mysql
#socket=/home/data/mysql/mysql.sock
[client]
#socket=/home/data/mysql/mysql.sock
#symbolic-links=0
#sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
socket부분은 사실 주석처리하는건 아닌데 오류때문에 어쩔수없이 수정했습니다.
sudo semanage fcontext -a -t mysqld_db_t "/data/mysql(/.*)?" //selinux 설정
sudo restorecon -R /data/mysql //보안 context설정
sudo systemctl start mysql // 서비스 시작. 전 여기서 막혔습니다.
vim /usr/lib/systemd/system/mariadb.service
에서 ProtectHome=true부분을 주석처리하거나 =false로 수정해줍니다.
vim /etc/my.cnf.d/server.cnf
으로
[mariadb]
datadir=/home/mysql-data
부분을 수정해줍니다. (맨 뒤에 /붙이면 안됩니다.)
시키는데로 systemctl daemon-reload를 한 후 mariadb를 실행해줍니다.
netstat -nlpt명령어를 통해 mariadb가 잘 작동중인지 확인할 수 있습니다.
rm -R /var/lib/mysql // 기존 디렉토리 data삭제
모든 과정을 완료 후 필요하다면 기존 데이터를 삭제해줍시다.