錯誤訊息:
[Warning] Can't create test file xxx.lower-test
[ERROR] Aborting
原因:SELinux 或 AppArmor 限制 mysqld 存取非預設資料目錄。
# 暫時關閉 (驗證用)
setenforce 0
# 永久關閉
vi /etc/selinux/config
SELINUX=disabled
# 重啟生效
# 或針對性放行 (推薦)
semanage fcontext -a -t mysqld_db_t "/data/mysql(/.*)?"
restorecon -Rv /data/mysql
# 編輯設定檔
vi /etc/apparmor.d/usr.sbin.mysqld
# 在現有 /var/lib/mysql/ 規則下新增自訂目錄
/data/mysql/ r,
/data/mysql/** rwk,
# 重新載入
systemctl restart apparmor
# 或
/etc/init.d/apparmor restart
chown -R mysql:mysql /data/mysql (擁有者正確)chmod 750 /data/mysql (權限正確)my.cnf 中 datadir=/data/mysql 路徑正確ibdata1, ib_logfile*, *.ibd 等檔案核心原則:Linux 強制存取控制 (MAC) 預設只允許預設路徑,遷移 datadir 必須同步更新 SELinux/AppArmor 政策。