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
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