Ubuntu MySQL 저장 경로 변경하기
Ubuntu 16.04 Desktop 버전에서 MySQL 저장 경로를 변경하는 방법입니다.
MySQL을 설치하면 기본적으로 /var/lib/mysql에 저장 경로가 설정됩니다.
저장 경로에 쌓인 데이터가 용량을 초과하거나 다른 경로로 변경해야 할 경우 저장 경로를 변경하여 사용할 수 있습니다.
먼저 기존 경로와 변경할 경로를 확인해보겠습니다.
- 기존 저장 경로 : /var/lib/mysql
- 신규 저장 경로 : /storage/mysql (원하시는대로 설정해주시면 됩니다.)
확인 후 신규 저장 경로를 생성해줍니다.
$ sudo mkdir -p /storage/mysql
다음으로 기존 저장 경로의 파일들을 신규 저장 경로로 복사해주고 권한을 부여해줍니다.
(아래 명령어가 실행이 안될 경우 root 권한 계정으로 바꿔서 실행해주시면 됩니다.)
$ sudo cp -r /var/lib/mysql/* /storage/mysql/
$ sudo chown -R mysql:mysql /storage/mysql
여기까지 진행이 됐으면 MySQL service를 종료하고 설정 파일을 수정해줍니다.
(설정 파일은 수정하기전에 반드시 백업해주세요.)
※ 설정 파일이 위치한 경로는 MySQL 버전에 따라 다를 수 있습니다. (5.7.17 버전으로 실습을 진행했습니다.)
$ sudo service mysql stop
$ sudo cp -r /etc/mysql/mysql.conf.d/mysqld.cnf /etc/mysql/mysql.conf.d/mysqld.back
$ sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
설정 파일을 열면 [mysqld] 항목에 'datadir'경로가 설정되어 있는데 이 경로를 신규 저장 경로로 바꿔줍니다.
다음으로 기존 저장 경로를 백업하고 신규 저장 경로로 링크를 걸어줍니다.
$ cd /var/lib
$ sudo cp -r /var/lib/mysql/ /var/lib/mysql-back
$ sudo rm -r /var/lib/mysql
$ sudo ln -s /storage/mysql /var/lib/mysql
$ sudo chown -R mysql:mysql /var/lib/mysql
위와 같은 모습으로 설정을 해주시면 됩니다.
다음으로 /etc/apparmor.d 경로로 이동하여 usr.sbin.mysqld 설정 파일을 편집해줍니다.
마찬가지로 수정하기전에 백업을 먼저 해줍니다.
$ cd /etc/apparmor.d
$ sudo cp -r ./usr.sbin.mysqld ./usr.sbin.mysqld.back
$ sudo vi usr.sbin.mysqld
'Allow data dir access' 항목을 찾아서 기존 저장 경로를 신규 저장 경로로 변경해줍니다.
다음으로 신규 저장 경로로 alias를 변경해줍니다.
$ cd /etc/apparmor.d/tunables
$ sudo vi ./alias
하단에 아래 내용을 추가해줍니다.
alias /var/ib/mysql/ -> /storage/mysql/, (설정하신 신규 저장 경로로 지정해주시면 됩니다.)
모든 설정이 완료됐으면 apparmor profiles를 reload 해줍니다.
$ sudo /etc/init.d/apparmor reload
마지막으로 MySQL serivce를 시작해줍니다.
$ sudo service mysql start
이상으로 Ubuntu MySQL 저장 경로를 변경하는 방법을 알아보았습니다.