首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

Ubuntu 修改 MySQL 資料目錄完整教學:AppArmor 設定關鍵步驟詳解

     編輯:MySQL 資料庫相關知識

操作流程總覽

  1. 停止服務:sudo systemctl stop mysql
  2. 複製資料目錄:sudo cp -Rp /var/lib/mysql /home/mysql
  3. 編輯 /etc/mysql/my.cnf:datadir = /home/mysql
  4. 關鍵:配置 AppArmor 允許新路徑。
  5. 重載 AppArmor:sudo systemctl reload apparmor
  6. 啟動服務:sudo systemctl start mysql

AppArmor 詳細設定

sudo 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 關鍵)。
  • 若為複製而非移動,舊目錄可保留作回滾。
  • SELinux 環境(CentOS/RHEL)需改用 semanage fcontext -a -t mysqld_db_t "/home/mysql(/.*)?" + restorecon -Rv /home/mysql。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved