Apparmor blockiert den MySQL-Start

Apparmor blockiert den MySQL-Start

Ich verwende Ubuntu 12.04 und habe das Datenverzeichnis für meinen MySQL-Server (unter Beibehaltung derselben Eigentümer und Berechtigungen) von /var/lib/mysql nach /u/apps/mysql in /etc/mysql/my.cnf verschoben. Anschließend habe ich /etc/apparmor.d/usr.sbin.mysqld aktualisiert, um Folgendes einzuschließen:

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

aber bekomme den Fehler:

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.

also deaktiviere ich Apparmor und es startet. Es sieht so aus, als ob das Verzeichnis, das es öffnen möchte, '.' ist, was ich als /u/apps/mysql angenommen hatte, aber anscheinend nicht ist. Seit ich die Apparmor-Konfiguration geändert habe, geht es definitiv weiter, aber ich habe keine Ahnung, woran es scheitert. Irgendwelche Ideen, was los ist? Danke ...

Antwort1

Es scheint, dass Sie ein Berechtigungsproblem mit dem MySQL-Datenverzeichnis haben

  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.

Können Sie die Berechtigung von datadir ändern und auch den Besitz auf mysql ändern? Sobald dies erledigt ist, starten Sie Mysql neu.

Antwort2

nun, ich bin nicht sicher, warum apparmor bei "/u/apps/mysql/** rwk" gesperrt wurde, wenn der ursprüngliche Eintrag "/var/lib/mysql/** rwk" war und /u/apps/mysql eindeutig mysql.mysql gehörte, aber als ich die Einstellung auf "/u/apps/** rwk" änderte, funktionierte es

verwandte Informationen