Beim Versuch, das Datenverzeichnis in Ubuntu Server 10.04 zu ändern, wurde folgende Fehlermeldung angezeigt.
100809 19:33:00 [Note] Plugin 'FEDERATED' is disabled.
/usr/sbin/mysqld: Can't find file: './mysql/plugin.frm' (errno: 13)
100809 19:33:00 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
100809 19:33:00 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 ./ibdata1
InnoDB: File operation call: 'create'.
InnoDB: Cannot continue operation.
mysql
ubuntu-10.04
directory
Norling Jr.
quelle
quelle
Antworten:
Nach einigen allgemeinen Verwirrungen über Berechtigungen stellte das OP fest, dass das Problem nicht darin bestand, dass er keine Berechtigungen und Pfadrechte hatte, sondern dass AppArmor MySQL daran hinderte, an den neuen Speicherort zu lesen und zu schreiben.
Dies ist seine Lösung:
Stoppen Sie zuerst MySQL, damit beim Spielen nichts Seltsames passiert:
Verschieben Sie dann alle Datenbankverzeichnisse in ihr neues Zuhause:
Verschieben Sie die Dateien nicht, sie werden von MySQL generiert. Verschieben Sie einfach die Ordner (die die Datenbanken sind).
Bitten Sie AppArmor dann höflich, MySQL die Verwendung des neuen Ordners zu erlauben:
Dann sag mysql, dass der Datenverzeichnis verschoben wurde:
HINWEIS: Abhängig von Ihrer Datenbankkonfiguration müssen Sie möglicherweise auch das Innodb-Daten-Home-Verzeichnis usw. ändern.
Starten Sie dann AppArmor neu, um die neuen Einstellungen zu lesen:
Starten Sie MySQL erneut mit dem neuen Datenverzeichnis:
quelle
/new-mysql-dir/ r
sonst wird es weiterhin verweigert. Grundlegendes Linux-Zeug, aber ich kann die nachgestellten Schrägstriche nie richtig machen.