修改 /etc/apparmor.d/usr.sbin.mysqld 後,必須重新加載配置文件:
sudo /etc/init.d/apparmor reload
成功標誌:Reloading AppArmor profiles: done.
Skipping profile ... Warning 導致無法啟動使用圖形編輯器 gedit / gksu gedit 修改配置文件時,會自動生成備份文件 usr.sbin.mysqld~。AppArmor 掃描目錄時嘗試加載該備份文件,因格式不合法報警並跳過,導致主配置未生效。
# 1. 刪除幹擾備份文件
sudo rm /etc/apparmor.d/usr.sbin.mysqld~
# 2. 使用終端編輯器修改(避免再生成備份)
sudo nano /etc/apparmor.d/usr.sbin.mysqld
# 3. 重新加載
sudo /etc/init.d/apparmor reload
sudo /etc/init.d/mysql start
觀察輸出:Starting MySQL database server: mysqld. 無報錯即成功。
# 1. 連接驗證
mysql -u root -p -e "SELECT COUNT(*) FROM information_schema.TABLES WHERE TABLE_SCHEMA='your_db';"
# 2. 關鍵表抽樣
mysql -u root -p -e "CHECKSUM TABLE your_db.core_table;"
# 3. 應用層煙霧測試
# 執行核心業務讀寫操作,驗證無報錯
systemctl stop mysqlrsync -av /var/lib/mysql/ /new/path/mysql/ (保留權限屬主)my.cnf:datadir=/new/path/mysql/new/path/mysql/ r, /new/path/mysql/** rwk,apparmor reload (注意清理 ~ 備份文件)systemctl start mysql