Super User hat eine nette Schritt für Schritt Anleitung, wie man dieses Problem löst
Hier finden Sie eine weitere Anleitung, wie Sie dasselbe tun können:
http://www.ubuntugeek.com/how-to-change-the-mysql-data-default-directory.html
Hier wird es neu gepostet. Gehen Sie und wählen Sie das Original, wenn Sie auf Superuser können.
Nach einiger allgemeiner Verwirrung über Berechtigungen wurde mir klar, dass das Problem nicht darin bestand, dass ich nicht über die richtigen Berechtigungen und Pfade verfügte, sondern dass AppArmor mysql daran hinderte, an den neuen Speicherort zu lesen und zu schreiben.
Das ist meine Lösung:
Stoppen Sie zuerst MySQL, damit beim Spielen nichts Ungewöhnliches passiert:
$ sudo stop mysql
Verschieben Sie dann alle Datenbankverzeichnisse in ihr neues Zuhause:
$ sudo mv /var/lib/mysql/<all folders> /new-mysql-dir/
Verschieben Sie die Dateien nicht, sie werden von MySQL generiert, sondern verschieben Sie nur die Ordner (die Datenbanken).
Bitten Sie AppArmor dann höflich darum, dass mysql den neuen Ordner verwendet:
$ sudo vim /etc/apparmor.d/usr.sbin.mysqld
Zeilen hinzufügen:
/new-mysql-dir/ r,
/new-mysql-dir/** rwk,
Dann sage mysql, dass der Datadir umgezogen ist:
$ sudo vim /etc/mysql/my.cnf
ändere die Zeile:
datadir=/var/lib/mysql
zu:
datadir=/my-new-db-dir/
HINWEIS: Abhängig von Ihrer Datenbankeinrichtung müssen Sie möglicherweise auch das Verzeichnis innodb-data-home usw. ändern.
Starten Sie anschließend AppArmor neu, um die neuen Einstellungen zu lesen:
$ sudo /etc/init.d/apparmor restart
Starten Sie MySQL erneut mit dem neuen Datadir:
$ sudo start mysql
Hoffe das hilft!