apparmor 阻止 mysql 啟動

apparmor 阻止 mysql 啟動

我正在運行ubuntu 12.04 並將我的mysql 伺服器的datadir (保留相同的所有權和權限)從/var/lib/mysql 移動到/etc/mysql/my.cnf 中的/u/apps/mysql ,然後我更新了/etc /apparmor.d/usr.sbin.mysqld 包括:

/u/apps/mysql r,
/u/apps/mysql/** rwk,

但出現錯誤:

InnoDB: Reading tablespace information from the .ibd files...
130906 13:55:31  InnoDB: Operating system error number 13 in a file operation.
InnoDB: The error means mysqld does not have the access rights to
InnoDB: the directory.
InnoDB: File name .
InnoDB: File operation call: 'opendir'.
InnoDB: Cannot continue operation.

所以我禁用apparmor並且它啟動。看起來它要開啟的目錄是“.”我假設是 /u/apps/mysql 但顯然不是。自從更改了 apparmor 配置後,它肯定會進一步發展,但我不知道它是因為什麼而窒息的。有什麼想法嗎?謝謝...

答案1

看來你在 mysql datadir 上有權限問題

  130906 13:55:31  InnoDB: Operating system error number 13 in a file operation.
  InnoDB: The error means mysqld does not have the access rights to
  InnoDB: the directory.

您可以更改datadir的權限並將所有權變更為mysql嗎?完成此操作後,重新啟動 Mysql。

答案2

好吧,我不知道為什麼當原始條目是“/var/lib/mysql/** rwk”並且/u/apps/mysql 顯然擁有mysql 時,apparmor 對“/u/apps/mysql/** rwk”猶豫不決.mysql ,但是當我將設定更改為“/u/apps/** rwk”並且它起作用時

相關內容