今天要修改一下Ubuntu下mysql 5.7 的數據目錄,發現無論怎么折騰文件
/etc/mysql/my.cnf
重啟后都無效,在網上查看的相關的文檔,說是要修改apparmor的文件,借此整理了一下文檔,將步驟寫到下面。
系統的的版本信息:
dc@dc-virtual-machine:~$ uname -a Linux dc-virtual-machine 4.10.0-35-generic #39~16.04.1-Ubuntu SMP Wed Sep 13 09:02:42 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
1.創建新的數據庫目錄並修改所屬主和所屬組
sudo mkdir /var/mysql_data chown -R mysql.mysql /var/mysql_data chmod 700 /var/mysql_data
2. 修改配置文件/etc/my.cnf ,如果找不到可以找 /etc/mysql/my.cnf ,如果再找不到,對不起找人接力吧;
將datadir 修改成1中定義的目錄:
datadir = /var/mysql_data
3.這個步驟很重要,要修改apparmor的相關配置文件
sudo vim /etc/apparmor.d/usr.bin.mysqld
或者修改文件
sudo vim /etc/apparmor/usr.bin.mysqld
可能還在其他的路徑下,注意仔細查找,這個文件我也是后來才知道的,在Centos中,不存在這種步驟的。
將上述文件中的:
# Allow data dir access /var/lib/mysql r, /var/lib/mysql/** rwk,
注意:上述的/var/lib/mysql/目錄是mysql安裝好后默認的。
修改成:
# Allow data dir access /var/mysql_data/ r, /var/mysql_data/** rwk,
4.修改完成后要重啟apparmor服務
sudo /etc/init.d/apparmor restart
5.重啟Mysql服務
sudo service mysql restart
6. 驗證mysql的目錄是否已經更改
進入mysql 命令行,執行:
show variables like '%datadir%'
即可。