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:
$ 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. Verschieben Sie einfach die Ordner (die die Datenbanken sind).
Bitten Sie AppArmor dann höflich, MySQL die Verwendung des neuen Ordners zu erlauben:
$ sudo vim /etc/apparmor.d/usr.sbin.mysqld
>> add lines
/new-mysql-dir/ r,
/new-mysql-dir/** rwk,
Dann sag mysql, dass der Datenverzeichnis verschoben wurde:
$ sudo vim /etc/mysql/my.cnf
>> change the line
datadir=/var/lib/mysql
>> to
datadir=/my-new-db-dir/
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:
$ sudo /etc/init.d/apparmor restart
Starten Sie MySQL erneut mit dem neuen Datenverzeichnis:
$ sudo start mysql