MySQL 5.7 Pas de répertoire, connexion avec HOME = /

16

Je suis désolé si cette question a déjà été posée, mais je ne trouve aucune solution à ce (peut-être petit) problème:

Je viens de faire une nouvelle installation de mysql-server 5.7 sur un serveur 14.04. Chaque fois que le service MySQL démarre, j'obtiens cette erreur:

root@xxx:/etc/mysql# service mysql restart
 * Stopping MySQL Community Server 5.7.11
...
 * MySQL Community Server 5.7.11 is stopped
 * Re-starting MySQL Community Server 5.7.11
No directory, logging in with HOME=/
..
 * MySQL Community Server 5.7.11 is started

Qu'est-ce que ça veut dire? Dois-je définir un répertoire personnel pour l'utilisateur "mysql"? (et si oui, quel est le meilleur choix? / home / mysql ??) Maintenant, c'est à / inexistant:

mysql:x:110:106:MySQL Server,,,:/nonexistent:/bin/false

mais j'ai une autre machine avec le même / inexistant, et il ne montre aucune erreur ...

les noisettes
la source
1
/ var / log / mysql ;-) voir: askubuntu.com/questions/539440/…
Rinzwind
ok, dans mon cas, cela a commencé et semble bien fonctionner, cela montre juste cet avis
the_nuts

Réponses:

31

Ayant le même problème pour se débarrasser de cette erreur, j'ai fait ce qui suit

  1. Arrêtez le service MYSQL:

    sudo service mysql stop

  2. Changez le répertoire personnel de mysql du répertoire inexistant au répertoire d'origine où il est censé être:

    sudo usermod -d /var/lib/mysql/ mysql

Maintenant, redémarrez le serveur mysql avec:

sudo service mysql start

Le message d'erreur a disparu. On ne sait toujours pas pourquoi cela se produit.

Abdul Hayee
la source
1
Ce pourrait être une solution, mais je ne suis pas d'accord avec cela. / home / est destiné aux utilisateurs. Pas pour créer un endroit pour les utilisateurs factices qui sont nécessaires pour la sécurité / les autorisations / quoi que ce soit. La personne suggérant / home / mysql et créant un véritable utilisateur mysql devrait être sérieusement réprimandée .
Rinzwind
/ var / lib o / var / log? Quoi qu'il en soit, ce répertoire ne semble pas être
rempli de
2
oui, c'est une solution de contournement, faites-moi savoir quand vous trouverez une solution.
Abdul Hayee
1
Selon cet article , Red Hat a le répertoire personnel mysql défini sur /var/lib/mysql. Donc cela semble ok ....
ostrokach
2
Pour ce que ça vaut, j'ai eu cette erreur lorsque j'utilisais mysql dans Windows WSL. L'erreur s'est arrêtée après avoir quitté mysqld.exe sous Windows. Le port 3306 a été revendiqué par le processus Windows.
Azeirah
0

Je suggérerais en outre une solution permanente, si elle fonctionne toujours à partir du même répertoire que je suppose, pourquoi ne pas modifier l'utilisateur mysql dans / etc / passwd:

mysql:x:106:111:MySQL Server,,,:/var/lib/mysql/:/bin/false
h.safe
la source