Ubuntu16.04下修改MySQL資料的預設儲存位置
阿新 • • 發佈:2018-12-10
原文摘自: https://blog.csdn.net/prliebtsy/article/details/79995620
1.首先第一步當然是down掉MySQL了:
# /etc/init.d/mysql stop
2.接著建立新的資料庫路徑:
# mkdir -p /ssd1/mysql
其中,/ssd1是我在雲伺服器上加的一個數據盤,已經掛載到 /ssd1 上去了。我想把所有的MySQL的資料都存到這個資料盤,而不是存到雲伺服器自帶的系統盤。
3.複製MySQL原有的資料,注意,MySQL的原始資料存在/var/lib/mysql/下。
# cp -R /var/lib/mysql/* /ssd1/mysql
4.注意一定要修改許可權,因為/var/lib/mysql 資料夾的屬性就是如下的:
# chown -R mysql:mysql /ssd1/mysql
5.修改配置資料夾
這一步網上都說是修改 /etc/mysql/my.cnf 檔案,可是我vim進去發現根本沒有 datadir 變數,查了很多資料都沒找到,然後自己搗鼓發現 /etc/mysql 下有個 mysql.conf.d 資料夾,下面有 mysqld.cnf 檔案,進去一看,果然 datadir變數在裡面!所以正確的操作應該是:
# vim /etc/mysql/mysql.conf.d/mysqld.cnf
將 [mysqld] 組下的 datadir改為:
datadir = /ssd1/mysql
但是我也不知道會不會是在阿里雲的源下載MySQL配置方式不同。。。。
6.修改啟動檔案
# vim /etc/apparmor.d/usr.sbin.mysqld
把
/var/lib/mysql r
/var/lib/mysql/** rwk
修改成
/ssd1/mysql r
/ssd1/mysql/** rwk,
6.重啟服務
# /etc/init.d/apparmor restart
# /etc/init.d/mysql restart