Ricerca nel sito web

Come risolvere l'ERRORE 1130 (HY000): l'host non è autorizzato a connettersi a questo server MySQL


In questo breve articolo imparerai come risolvere l'errore "ERRORE 1130 (HY000): l'host x.x.x.x non è autorizzato a connettersi a questo server MySQL" nella distribuzione del database MySQL/MariaDB su un sistema Linux. Questo è uno degli errori comuni di connessione al database remoto riscontrati dagli utenti.

Ambiente di test:

  • IP del server dell'applicazione: 10.24.96.5
  • IP del server database: 10.24.96.6

Abbiamo riscontrato l'errore durante il test della connessione al database da uno dei nostri server app a un server database, utilizzando il client mysql come mostrato.

mysql -u database_username -p -h 10.24.96.6

L'errore indica che l'host 10.24.96.5 da cui si connette l'utente del database non è autorizzato a connettersi al server MySQL. In questo caso, dobbiamo apportare alcune modifiche al server del database per consentire all'utente di connettersi da remoto.

Sul server del database, dobbiamo controllare l'host da cui l'utente sopra indicato può connettersi.

mysql -u root -p

Esegui i seguenti comandi SQL per verificare l'host dell'utente:

MariaDB [(none)]> SELECT host FROM mysql.user WHERE user = "database_username";

Dall'output del comando, all'utente è consentito connettersi al server del database solo da localhost. Pertanto, dobbiamo aggiornare gli host dell'utente come segue.

Esegui il seguente comando GRANT per abilitare l'accesso MySQL per l'utente remoto da un host remoto. Assicurati di sostituire “10.24.96.6” con l'indirizzo IP del sistema remoto e “database_password” con la password che desideri “database_username "per utilizzare:

MariaDB [(none)]> GRANT ALL ON database_name.* to 'database_username'@'10.24.96.5' IDENTIFIED BY 'database_password';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> SELECT host FROM mysql.user WHERE user = "database_username";

Per fornire a un utente l'accesso remoto da tutti gli host su una rete, utilizzare la sintassi seguente:

MariaDB [(none)]> GRANT ALL ON database_name.* to 'database_username'@'10.24.96.%' IDENTIFIED BY 'database_password';

Dopo aver apportato le modifiche di cui sopra, prova a connetterti nuovamente in remoto al server del database MySQL. La connessione dovrebbe avere esito positivo, come mostrato nello screenshot seguente.

mysql -u database_username -p -h 10.24.96.6

Ci auguriamo che questa soluzione ti abbia aiutato a risolvere il tuo errore di connessione remota Mysql. In caso di domande, contattaci tramite il modulo di feedback sottostante.