In questo rapido articolo imparerai come risolvere il problema “ERRORE 1130 (HY000): Host xxxx non è autorizzato a connettersi a questo server MySQL“Errore nella distribuzione del database MySQL / MariaDB su un sistema Linux. Questo è uno degli errori di connessione al database remoto più comuni riscontrati dagli utenti.

Ambiente di test:

  • IP del server delle applicazioni: 10.24.96.5
  • IP del server database: 10.24.96.6

Si è verificato l’errore durante il test della connessione al database da uno dei nostri server di app a un server di database, utilizzando l’estensione mysql client come mostrato.

# mysql -u database_username -p -h 10.24.96.6
Errore di connessione al database remoto MySQL
Errore di connessione al database remoto MySQL

L’errore indica che l’host 10.24.96.5 da cui l’utente del database si connette 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 a cui l’utente sopra è autorizzato a connettersi.

# mysql -u root -p

Eseguire i seguenti comandi SQL per controllare l’host dell’utente:

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

 

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

Eseguire quanto segue CONCEDERE comando 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“Alla password che desideri”database_username” usare:

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";
Abilita l'accesso remoto al database MySQL per l'utente dall'host remoto
Abilita l’accesso remoto al database MySQL per l’utente dall’host remoto

Per concedere 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, provare a connettersi in remoto al server di database MySQL ancora una volta. La connessione dovrebbe avere esito positivo come mostrato nello screenshot seguente.

# mysql -u database_username -p -h 10.24.96.6
Connettiti al server di database MySQL remoto
Connettiti al server di database MySQL remoto

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

Esegui l'accesso per Commentare