sudo systemctl stop mysqlsudo cp -Rp /var/lib/mysql /home/mysql/etc/mysql/my.cnf:datadir = /home/mysqlsudo systemctl reload apparmorsudo systemctl start mysqlsudo nano /etc/apparmor.d/usr.sbin.mysqld
找到:
/var/lib/mysql/ r, /var/lib/mysql/** rwk,
註釋並新增:
#/var/lib/mysql/ r, #/var/lib/mysql/** rwk, /home/mysql/ r, /home/mysql/** rwk,
Skipping profile /etc/apparmor.d/usr.sbin.mysqld~ : Warning原因:用 gedit/gksu 產生備份檔 ~ 干擾解析。
解決:
sudo rm /etc/apparmor.d/usr.sbin.mysqld~ sudo nano /etc/apparmor.d/usr.sbin.mysqld # 用終端編輯器
mysql -u root -p -e "SELECT @@datadir;" # 應輸出 /home/mysql/
cp -Rp 保留擁有者/權限/時間戳(-p 關鍵)。semanage fcontext -a -t mysqld_db_t "/home/mysql(/.*)?" + restorecon -Rv /home/mysql。