Ich habe eine separate Festplatte in /mnt/temp gemountet und geändertDatenverzeichnisum darauf hinzuweisen. Ich habe die richtigen Einstellungen in apparmor hinzugefügt und ein paar Stunden mit mysql gearbeitet. Nach dem Hinzufügen performance_schema
zumeine.cnfund beim Versuch, MySQL neu zu starten, erhalte ich die folgenden Fehler:
[Warning] Can't create test file /mnt/temp/some_dir/blah.lower-test
...
[ERROR] InnoDB: The innodb_system data file 'ibdata1' must be writable
...
Ich habe seitdem chmod -R 777 /mnt/temp
App Armor heruntergefahren, die Partition erneut gemountet, alle Prozesse, die mit der Partition interagieren würden, manuell beendet und sie performance_schema
aus meiner Konfiguration entfernt.
Irgendwelche Vorschläge?
Antwort1
AusMySQL lernen: AppArmor und MySQL
Wenn Sie das Datenverzeichnis in MySQL verschieben möchten (in diesem Beispiel nach /data/directory
) und AppArmor dies nicht zulässt, fügen Sie am Ende von die folgenden beiden Zeilen hinzu /etc/apparmor.d/local/usr.sbin.mysqld
:
/data/ r,
/data/** rwk,
... und laden Sie dann die AppArmor-Profile neu:
sudo service apparmor reload
Antwort2
Mir ist das Gleiche passiert und ich konnte mir vorstellen, dass es ein Eigentumsproblem war (dies ließ mich auch den Eindruck gewinnen, dass es ein Problem mit AppArmor gab).
Vielleicht können Sie Folgendes versuchen (ändern Sie es, /var/lib/mysql
wenn es nicht mit Ihrem übereinstimmt):
sudo chown -R mysql /var/lib/mysql
sudo chgrp -R mysql /var/lib/mysql
Als erklärende Randbemerkung: Die Benutzer- und Gruppen-IDs für MySQL haben sich seit der älteren Ubuntu-Version geändert. Die vorherige Benutzer-ID und Gruppen-ID sahen jetzt wie hplip
und aus pulse-access
. Da das Datenverzeichnis für mich ein Mount-Bind ist (auf einer anderen Partition), hatte es immer noch diese vorherigen IDs, deren Zuweisung sich geändert hat.