리눅스, MariaDB 데이터 경로 Datadir 변경 방법

마리아DB의 데이터가 저장되는 기본 경로는 /var/lib/mysql입니다. 그런데 /var ~ 경로의 용량이 충분하지 않다면 지속적인 운영에 어려움을 겪을 수 있습니다. 이럴 때 데이터가 저장되는 Datadir을 용량이 넉넉한 다른 경로로 옮겨주는 방법을 사용할 수 있습니다.

 

MariaDB 데이터 폴더의 경로를 확인합니다. 기본 경로는 /var/lib/mysql입니다.

MariaDB(none)> select @@datadir

 

데이터 폴더를 이동하기 위해 마리아db 서비스를 중지합니다.

$ systemctl stop mariadb

 

이동할 경로에 폴더를 생성합니다. /home/mysql 경로에 폴더를 생성한다고 가정하겠습니다.

$ cd /home/mysql
$ mkdir newDatadir

 

rsync 명령어를 이용해 데이터 파일을 복사합니다.

$ rsync [File Name] [Target Path]
$ rsync -av /var/lib/mysql /home/mysql/newDatadir

 

이제 server.cnf 파일에서 datadir의 경로를 수정합니다.

$ vim /etc/my.cnf.d/server.cnf 

[mariadb] 
datadir=/home/mysql/newDatadir

 

기본적으로 CentOS의 마리아DB는 /home /root 등의 폴더에 접근 제한이 설정되어 있습니다. 이것을 풀어줘야 마리아db를 문제없이 사용할 수 있습니다.

$ vi /usr/lib/systemd/system/mariadb.service

 

해당 파일을 아래 내용처럼 편집합니다.

# Prevent accessing /home, /root and /run/user 
#ProtectHome=true
ProtectHome=false

 

마리아db를 시작합니다.

$ systemctl start mariadb

 

만약 systemctl daemon-reload에러가 발생하면 아래 명령을 수행하고 다시 시작해봅니다. 

$ systemctl daemon-reload
반응형

댓글

Designed by JB FACTORY