Après une certaine confusion générale sur les autorisations, l'OP s'est rendu compte que le problème n'était pas qu'il n'avait pas les autorisations et les droits d'accès mais qu'AppArmor empêchait MySQL de lire et d'écrire vers le nouvel emplacement.
Voici sa solution:
Arrêtez d'abord MySQL pour que rien de bizarre ne se passe pendant que vous jouez:
$ sudo stop mysql
Déplacez ensuite tous les répertoires de la base de données vers leur nouveau domicile:
$ sudo mv /var/lib/mysql/<all folders> /new-mysql-dir/
Ne déplacez pas les fichiers, ils seront générés par mysql, déplacez simplement les dossiers (qui sont les bases de données).
Ensuite, demandez poliment à AppArmor d'autoriser mysql à utiliser le nouveau dossier:
$ sudo vim /etc/apparmor.d/usr.sbin.mysqld
>> add lines
/new-mysql-dir/ r,
/new-mysql-dir/** rwk,
Dites ensuite à mysql que le datadir a bougé:
$ sudo vim /etc/mysql/my.cnf
>> change the line
datadir=/var/lib/mysql
>> to
datadir=/my-new-db-dir/
REMARQUE: Selon la configuration de votre base de données, vous devrez peut-être également modifier innodb-data-home-dir, etc.
Redémarrez ensuite AppArmor pour lire les nouveaux paramètres:
$ sudo /etc/init.d/apparmor restart
Et redémarrez MySQL en utilisant le nouveau datadir:
$ sudo start mysql