MySQL Datenverzeichnis verschieben. Leicht gesagt.

Auf meinem neuen Linux Webserver wollte ich – um mir das Datensicherungsgehähe zu vereinfachen – den Datenbankpfad für MySQL verschieben. Eigentlich ganz einfach, da nur der Eintrag datadir = /var/lib/mysql in der Datei /etc/mysql/my.cnf anzupassen ist. Blöderweise ließ sich nach dieser Anpassung der Dämon (mit Error 13 – Zugriff verweigert) nicht mehr starten. Schuld ist AppArmor, welches das neue Datenverzeichnis noch nicht kennt und den Zugriff dort hin blockiert.

Zum Glück ist die Lösung einfach und hier gut dokumentiert. Man muss die AppArmor Konfiguration in der Datei /etc/apparmor.d/usr.sbin.mysqld um den neuen Datenpfad ergänzen. Dazu werden die folgenden Zeilen angefügt:

/srv/mysql/ r,
/srv/mysql/** rwk,

Nach einem Neustart von AppArmor mit sudo service apparmor restart lässt sich dann auch myssql wieder starten: sudo service mysql restart

Nochmals Danke an Matthias!