更改 datadir 後 MySQL 將無法啟動(14.04,mysql 5.7)

更改 datadir 後 MySQL 將無法啟動(14.04,mysql 5.7)

我已將單獨的硬碟安裝到/mnt/temp,並更改數據目錄指出這一點。我在 apparmor 中添加了正確的設置,並使用 mysql 工作了幾個小時。添加後performance_schema我的cnf並嘗試重新啟動 mysql,我收到錯誤:

[Warning] Can't create test file /mnt/temp/some_dir/blah.lower-test
...
[ERROR] InnoDB: The innodb_system data file 'ibdata1' must be writable
...

從那以後,我chmod -R 777 /mnt/temp關閉了應用程式裝甲,重新安裝了分割區,手動終止了與分割區互動的任何進程,並performance_schema從我的配置中刪除了。

有什麼建議麼?

答案1

學習 MySQL:AppArmor 和 MySQL

如果您想要重新定位 MySQL 中的資料目錄(在本例中為/data/directory),而 AppArmor 不允許您,請將以下兩行新增至 的底部/etc/apparmor.d/local/usr.sbin.mysqld

/data/ r,
/data/** rwk, 

....然後重新載入 AppArmor 設定檔:

sudo service apparmor reload 

答案2

我遇到了同樣的情況,並且可能認為這是所有權問題(這也給了我 AppArmor 問題的錯覺)。

也許你可以嘗試這個(/var/lib/mysql如果與你的不匹配,請更改):

sudo chown -R mysql /var/lib/mysql
sudo chgrp -R mysql /var/lib/mysql

作為說明性的旁注,MySQL 的使用者和群組 ID 自較早的 Ubuntu 版本以來發生了變化。以前的使用者 ID 和群組 ID 現在看起來為hplippulse-access。由於資料目錄對我來說是掛載綁定(在另一個分割區上),因此它仍然具有分配已更改的先前 ID。

相關內容