MariaDB ne peut pas démarrer après la mise à jour: Impossible de créer le fichier de test /home/mysql/beta.lower-test

Je viens de mettre à jour MariaDB en utilisant apt-get dist-upgrade. Maintenant, il ne commencera plus à utiliser le service mysql start .

Je peux toutefois l’exécuter en tant que root ou faire: sudo -u mysql mysqld_safe puis MariaDB démarre correctement. Le dossier / home / mysql appartient à l’utilisateur et au groupe mysql.

J’ai trouvé l’erreur à jeter dans cette fonction: https://github.com/MariaDB/server/blob/7ff44b1a832b005264994cbdfc52f93f69b92cdc/sql/mysqld.cc#L9865

Je ne peux pas savoir quoi faire ensuite. Des pointeurs?

Pour exécuter le SQL de MariaDB depuis / home, dans le fichier /usr/lib/systemd/system/mariadb.service, modifiez simplement:

 ProtectHome=true 

à :

 ProtectHome=false 

@ RedGiant oui je l’ai résolu. J’ai oublié de poster ici.

Apparemment, après la version .1, vous ne pouvez plus exécuter SQL depuis / home. Il y a probablement un moyen de contourner cela, mais je ne l’ai pas trouvé.

Je peux exécuter MySQL à partir de n’importe quel endroit sauf / home. Ce que je faisais était unmount / home (j’avais mon RAID SSD monté sur / home) et remontais mon disque en tant que / ssd. Changé mes chemins dans la configuration et cela a fonctionné tout de suite.

Je n’ai pas lancé SELinux ou Apparmor.

Même situation après mise à jour sur Debian 8 (Jessie) et 9 (Stretch) . Après “apt-get upgrade” la commande

  • service mysql start

le serveur ne parvient pas à démarrer et enregistre l’erreur:

[Avertissement] Impossible de créer un fichier de test /home/johndoe/UserDatabases/mypcname.lower-test

la solution est de changer le fichier /lib/systemd/system/mariadb.service la valeur:

 ProtectHome=true 

à

 ProtectHome=false 

comme décrit ci-dessus.

La solution à ce problème consiste à monter le répertoire dans home sous / var / lib / mysql:

 mount --bind /home/mysql/var/lib/mysql /var/lib/mysql