在 uBuntu 中,MySQL 的資料預設存放位置在 /var/lib/mysql 資料夾底下,有時候我們會因爲某些需求,將資料預設儲存的位置更改至其他位置。
在 uBuntu 中更改預設儲存位置的方法,除了修改 /etc/mysql/my.cnf 中的 datadir 路徑,還需要修改 /etc/apparmor.d/usr.sbin.mysqld 這個 AppArmor 設定檔,否則重新啓動 MySQL 的時候會出現失敗的錯誤訊息。
假設我們要移動的目標資料夾爲 /data/mysql,修改的方法如下:
- 暫時停止 MySQL 服務
$ sudo service mysql stop
(or sudo /etc/init.d/mysql stop) - 修改 my.cnf 設定檔,將 datadir 註解並填上新的路徑
$ sudo vim /etc/mysql/my.cnf
# datadir = /var/lib/mysql
datadir = /data/mysql - 複製原先的資料到新的資料夾中
$ sudo cp -R -p /var/lib/mysql /data/mysql
- 修改 usr.sbin.mysqld 設定檔,將原本路徑爲 /var/lib/mysql 的都改到 /data/mysql
$ sudo vim /etc/apparmor.d/usr.sbin.mysqld
- 重新啓動 AppArmor 與 MySQL 服務
$ sudo service apparmor restart
$ sudo service mysql start
能夠順利啓動的話,就沒有什麼問題了!啓動後登入 MySQL 觀察一下。
留言