개발

MariaDB 10.4 에서 datadir 위치 변경하기

에드몽단테스 2021. 7. 5. 14:29

우선 작업환경은 CentOS 7.9에 MariaDB 10.4이다.

현재 설정되어 있는 datadir을 확인하자.

 

# mysql -uroot
MariaDB [(none)] > select @@datadir;

+---------------------
| @@datadir          |
| /var/lib/mysql/    |
+--------------------+

기본 데이터베이스의 위치는 /var/lib/mysql로 되어 있다.

 

데이터베이스 디렉토리를 이전하기 전에 서버를 중지하자.

# systemctl stop mariadb

 

이전 할 디렉토리를 만들고 데이터를 복사한다. (복사할 디렉토리는 /home/mariadb 로 정했다.)

# mkdir /home/mariadb
# rsync -av /var/lib/mysql /home/mariadb
# chown mysql:mysql /home/mariadb -R

 

설정파일을 수정한다.

기본은 my.conf 였던 것 같은데, 버전마다 조금 다른 듯 하다.

CentOS7.9의 MariaDB10.4에서는 /etc/my.cnf.d/server.cnf 이다.

 

기존 파일에 datadir과 socket 의 경로를 변경한다.

나는 기존에 포트를 3308을 이용했고 대소문자를 구별하지 않게 세팅이 되어 있었다.

datadir과 socket 위치를 추가하자.

 

그리고 mariadb는  /root, /home 디렉토리는 접근이 제한되어 있다.

아래 파일에서 설정을 false로 해제한다.

 

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

ProtectHome=false

위 처럼 변경 후 아래 스크립트를 실행시켜준다.

# systemctl daemon-reload
# systemctl start mariadb

daemon-reload를 실행하지 않고 mariadb를 start 실행시키면 daemon-reload를 하라고 메세지가 뜬다.

서버 기동 후 설정이 잘 되었는지 확인한다.

반응형