MySQL 5.7 Nessuna directory, accesso con HOME = /


16

Mi dispiace se questa domanda è già stata posta, ma non riesco a trovare alcuna soluzione a questo (forse piccolo) problema:

Ho appena fatto una nuova installazione di mysql-server 5.7 su un server 14.04. Ogni volta che si avvia il servizio MySQL, viene visualizzato questo errore:

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

Cosa significa? Devo impostare una home directory per l'utente "mysql"? (e in tal caso, qual è la scelta migliore? / home / mysql ??) Ora è / inesistente:

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

ma ho un'altra macchina con lo stesso / inesistente e non mostra alcun errore ...


1
/ var / log / mysql ;-) vedi: askubuntu.com/questions/539440/…
Rinzwind

ok, nel mio caso è iniziato e sembra funzionare bene, mostra solo
quell'avviso

Risposte:


31

Avendo lo stesso problema per eliminare questo errore, ho fatto quanto segue

  1. Interrompere il servizio MYSQL:

    sudo service mysql stop

  2. Cambia la directory home di mysql da quella inesistente a quella originale dove dovrebbe essere:

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

Ora riavvia il server mysql con:

sudo service mysql start

Il messaggio di errore è scomparso. Ancora perché questo accada è sconosciuto.


1
Potrebbe essere una soluzione, ma non sarei d'accordo con questo. / home / è per gli utenti. Non per creare un posto per utenti fittizi che sono necessari per sicurezza / permessi / qualunque cosa. La persona che suggerisce / home / mysql e crea un vero utente mysql dovrebbe essere rimproverata seriamente .
Rinzwind,

/ var / lib o / var / log? Comunque, quella directory non sembra essere popolata con nessun dato
the_nuts

2
sì, questa è una soluzione alternativa fammi sapere quando trovi una soluzione.
Abdul Hayee,

1
Secondo questo post , Red Hat ha impostato la directory home di mysql su /var/lib/mysql. Quindi questo sembra ok ....
ostrokach,

2
Per quello che vale, ho avuto questo errore quando stavo eseguendo mysql in Windows WSL. L'errore ha smesso di verificarsi dopo che ho chiuso mysqld.exe su Windows. La porta 3306 è stata rivendicata dal processo di Windows.
Azeirah,

0

Vorrei inoltre suggerire una soluzione permanente, se viene sempre eseguita dalla stessa directory, suppongo che dovrebbe, perché non modificare l'utente mysql in / etc / passwd:

mysql:x:106:111:MySQL Server,,,:/var/lib/mysql/:/bin/false
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.