Slik fikser du ERROR 1130 (HY000): Verten har ikke lov til å koble til denne MySQL-serveren


I denne raske artikkelen lærer du hvordan du løser «FEIL 1130 (HY000): Host x.x.x.x har ikke lov til å koble til denne MySQL-serveren»-feilen i MySQL/MariaDB-databasedistribusjon på et Linux-system. Dette er en av de vanlige feilene for ekstern databasetilkobling som oppstår av brukere.

Test miljø:

  • Applikasjonsserver IP: 10.24.96.5
  • Databaseserver-IP: 10.24.96.6

Vi oppdaget feilen under testing av databasetilkobling fra en av appserverne våre til en databaseserver, ved å bruke mysql-klienten som vist.

mysql -u database_username -p -h 10.24.96.6

Feilen indikerer at verten 10.24.96.5 som databasebrukeren kobler til fra ikke har lov til å koble til MySQL-serveren. I dette tilfellet må vi gjøre noen endringer på databaseserveren for å gjøre det mulig for brukeren å koble til eksternt.

På databaseserveren må vi sjekke verten brukeren ovenfor har lov til å koble til fra.

mysql -u root -p

Kjør følgende SQL-kommandoer for å sjekke brukerens vert:

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

Fra utdataene til kommandoen har brukeren bare lov til å koble til databaseserveren fra localhost. Så vi må oppdatere brukerens verter som følger.

Kjør følgende GRANT-kommando for å aktivere MySQL-tilgang for den eksterne brukeren fra en ekstern vert. Sørg for å erstatte "10.24.96.6 " med IP-adressen til det eksterne systemet, og "database_password " til passordet du vil ha "database_username > " for å bruke:

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";

For å gi en bruker ekstern tilgang fra alle vertene på et nettverk, bruk syntaksen nedenfor:

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

Etter å ha gjort endringene ovenfor, prøv å eksternt koble til MySQL-databaseserveren en gang til. Tilkoblingen skal være vellykket som vist i følgende skjermbilde.

mysql -u database_username -p -h 10.24.96.6

Vi håper denne løsningen hjalp deg med å løse Mysql ekstern tilkoblingsfeil. Hvis du har spørsmål, kontakt oss via tilbakemeldingsskjemaet nedenfor.