Mysql

即使設置了完整權限,innodb_system 數據文件 ‘ibdata1’ 也必須是可寫的

  • January 17, 2021

我正在嘗試更改 mysql 中的 datadir,我創建了一個以使用者 mysql 作為所有者的新目錄,我知道不應該將權限設置為 777。但即使有了這個完全權限,日誌中仍然會出現相同的錯誤每當我嘗試啟動mysql服務時文件。

[InnoDB] The innodb_system data file 'ibdata1' must be writable

user@user:~$ ls -l /database2/mysql | grep ibdata1 
-rwxrwxrwx 1 mysql mysql 12582912 Jan 15 15:24 ibdata1

任何解決方案?

在閱讀了這篇文章並獲得了關於 SELinux 和 Apparmor 的主要想法之後,我終於設法解決了這個問題。datadir解決方案是像這樣添加我的新路徑/etc/apparmor.d/usr.sbin.mysqld

/database2/ r,
/database2/** rwk,

現在重啟apparmor服務並啟動mysql服務。

sudo systemctl restart apparmor
sudo systemclt start mysql

引用自:https://dba.stackexchange.com/questions/283327