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.