본문 바로가기
Come on IT/DataBase

MySQL 저장경로 변경하기(feat. ubuntu)

by JONGSKY 2024. 2. 2.
728x90
SMALL

1. 작성하게 된 계기

 

데이터베이스 즉, 용량크기가 큰 서버는 특정 서버만 접속할 수 있도록 되어 있는 상태이다.

이때 특정서버에서 MySQL을 구동중인데 해당 서버는 사실 db를 실행하는데는 맞지 않는 서버이다.

(물론 기본적인 서버들보다 사양이 좋기때문에 용량이 이미 크다.)

 

그래서 용량크기가 큰 서버에 mount를 하고

해당 경로로 MySQL의 저장 경로를 설정하고자 한다.

 

그래서 결론은 MySQL 데이터 저장하는 경로 수정하기

 

2. MySQL 저장 경로 변경 방법

 

가정

- 기존 저장 경로 : /var/lib/mysql

- 신규 저장 경로 : /storage/mysql (원하는대로 설정)

 

- 신규 저장 경로 생성

 

sudo mkdir -p /storage/mysql

 

- 기존 저장 경로의 파일들을 신규 저장 경로로 복사

 

sudo cp -r /var/lib/mysql/* /storage/mysql/

 

- 신규 저장 경로에 권한 부여

sudo chown -R mysql:mysql /storage/mysql

 

- MySQL 서비스 정지

 

sudo service mysql stop

 

- 설정 경로로 백업하기 (설정 경로 : /etc/mysql/mysql.conf.d/mysqld.back)

 

sudo cp -r /etc/mysql/mysql.conf.d/mysqld.cnf /etc/mysql/mysql.conf.d/mysqld.back

 

- 설정파일 datadir 경로 신규 저장경로로 수정

sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf

 

 

- 실제 mysql 경로는 삭제하고 backup 해두기

cd /var/lib
sudo cp -r /var/lib/mysql/ /var/lib/mysql-back
sudo rm -r /var/lib/mysql

 

- /var/lib/mysql과 설정 경로를 심볼릭 링크로 연결

 

sudo ln -s /storage/mysql /var/lib/mysql
sudo chown -R mysql:mysql /var/lib/mysql

 

- 마찬가지로 백업 후 usr.sbin.mysqld 파일 수정

 

cd /etc/apparmor.d
sudo cp -r ./usr.sbin.mysqld ./usr.sbin.mysqld.back
sudo vi usr.sbin.mysqld

 

 

- 신규 저장 경로로 alias 변경 (alias /var/ib/mysql/ -> /storage/mysql/,)

 

cd /etc/apparmor.d/tunables
sudo vi ./alias

 

- apparmor profiles를 reload

 

sudo /etc/init.d/apparmor reload

 

- 마지막으로 mysql start

 

sudo service mysql start
728x90
LIST