본문 바로가기
Server/Ubuntu

mysql 볼륨 위치 바꾸기

by 유주원 2017. 8. 29.

docker container내에 mysql을 설치하는 경우가 종종 있는데, 대부분 이러한 경우에 mysql volume 위치를 docker 공유 볼륨 쪽으로 바꿔서 위치시켜야 한다. 

만약 해당 위치를 바꾸지 않는다면 mysql에 데이터가 쌓일수록 해당 컨테이너의 크기는 커지게 되고 결국 image 크기도 기하급수적으로 커질 것이다. 또한 공유 볼륨에 있지 않은 mysql 데이터의 경우 만에 하나라도 컨테이너가 삭제가 되면 mysql에 있는 모든 데이터가 하루 아침에 날라가게 된다.

그래서 docker 환경에서의 mysql 볼륨의 위치 변경은 필수적이다.

그럼 이제 어떻게 mysql 볼륨을 바꾸는지 살펴보자.


우선 mysql부터 설치하자.


$> sudo apt-get install mysql-server-5.6


설치가 끝났다면, 이제 mysql 볼륨의 위치를 바꾸자. 크게 mysql volume 위치 변경 -> mysql 심볼릭 링크 설정 -> mysql configure 파일 설정 이 순서대로 진행이 될 것이다. (추가로 log 파일도 함께 바꾸자)

우선 설치된 mysql이 잘 동작되는지 동작 테스트부터 해보자.


$> sudo service mysql start

$> sudo service mysql stop 


동작이 잘된다면 이제 mysql volume 위치를 변경하고자 하는 위치로 이동시키자.


$> mv /var/lib/mysql ~/shared/mysql


완료되었으면, 기존 위치에서 mysql volume을 찾을 수 있도록 심볼릭 링크를 걸어주자.


$> sudo ln -s ~/shared/mysql /var/lib/mysql


심볼릭 링크까지 완료되었다면 이제 mysql conf 파일을 수정하자. /etc/mysql/my.cnf 파일을 연 후 아래의 datadir 항목을 수정하자.

(로그 configure가 활성화 되어 있다면 로그 파일 위치도 공유 볼륨 쪽으로 수정하자.) 


datadir = ~/shared/mysql


모든 설정이 끝났다면, 다시 한 번 service mysql start 명령어를 입력해 보자. 아래와 같이 OK 메시지가 나타나면 성공적으로 볼륨을 변경했다고 볼 수 있다.



mysql에 접속한 후 아래와 같이 show databases를 입력하면 아래와 같은 기본 항목을 확인할 수 있다.