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

Ubuntu下MySQL數據目錄遷移實戰(二):AppArmor策略調整與服務驗證

     編輯:MySQL 資料庫相關知識

AppArmor 配置生效關鍵步驟

修改 /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. 應用層煙霧測試
# 執行核心業務讀寫操作,驗證無報錯

完整遷移清單回顧

  1. 停服務:systemctl stop mysql
  2. 同步數據:rsync -av /var/lib/mysql/ /new/path/mysql/ (保留權限屬主)
  3. 修改 my.cnf:datadir=/new/path/mysql
  4. 調整 AppArmor:註釋舊路徑,添加新路徑 /new/path/mysql/ r, /new/path/mysql/** rwk,
  5. 重載 AppArmor:apparmor reload (注意清理 ~ 備份文件)
  6. 啟動驗證:systemctl start mysql
  7. 數據校驗與應用測試
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved