본문 바로가기

IT/리눅스

우분투 mysql 저장경로 변경하기 - 개인저장용

 

 

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 저장 경로를 변경하는 방법을 알아보았습니다.



출처: https://freestrokes.tistory.com/42 [FREESTROKES DEVLOG]