L'host 'xxx.xx.xxx.xxx' non è autorizzato a connettersi a questo server MySQL
Questo dovrebbe essere molto semplice, ma non riesco a farlo funzionare.
Sto solo cercando di connettermi da remoto al mio server MySQL.
connettersi come
mysql -u root -h localhost -p
funziona bene, ma provando
mysql -u root -h 'any ip address here' -p
fallisce con l'errore
ERROR 1130 (00000): Host ''xxx.xx.xxx.xxx'' is not allowed to connect to this MySQL server
Nella tabella mysql.user
, c'è esattamente la stessa voce per l'utente 'root' con host 'localhost' come un'altra con host '%'.
Sono al limite e non ho idea di come procedere. Qualsiasi idea è benvenuta.
622
3
Forse una precauzione di sicurezza. Potresti provare ad aggiungere un nuovo account di amministratore:
Anche se, come Pascal e altri hanno notato, non è una grande idea avere un utente con questo tipo di accesso aperto a qualsiasi IP. Se avete bisogno di un utente amministrativo, usate root, e lasciatelo su localhost. Per qualsiasi altra azione specificate esattamente i privilegi di cui avete bisogno e limitate l'accessibilità dell'utente come Pascal ha suggerito qui sotto.
Modifica:
Dalle FAQ di MySQL:
Il messaggio
*Host '''xxx.xx.xxx.xxx'' non è permesso connettersi a questo server MySQL
è una risposta dal server MySQL al client MySQL. Notate come restituisce l'indirizzo IP e non l'hostname.Se stai cercando di connetterti con
mysql -h -u -p
e restituisce questo messaggio con l'indirizzo IP, allora il server MySQL non è in grado di fare un reverse lookup sul client. Questo è critico perché è il modo in cui mappa il client MySQL alle sovvenzioni.Assicurati di poter fare un
nslookup
dal server MySQL. Se questo non funziona, allora non c'è nessuna voce nel server DNS. In alternativa, puoi mettere una voce nel file HOSTS del server MySQL (` `Se si modificano le tabelle dei privilegi manualmente (usando INSERT, UPDATE, ecc.), si dovrebbe eseguire un'istruzione
FLUSH PRIVILEGES
per dire al server di ricaricare le tabelle di concessione.PS: non raccomanderei di permettere a qualsiasi host di connettersi per qualsiasi utente (specialmente non l'uso
root
). Se state usando mysql per un'applicazione client/server, preferite un indirizzo di sottorete. Se state usando mysql con un web server o un application server, usate IP specifici.