개발
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를 하라고 메세지가 뜬다.
서버 기동 후 설정이 잘 되었는지 확인한다.
반응형