I den här snabba artikeln kommer du att lära dig hur du löser "FEL 1130 (HY000):Host x.x.x.x får inte ansluta till denna MySQL-server ”-fel i MySQL/MariaDB-databasdistribution på ett Linux-system. Detta är ett av de vanligaste felen i fjärrdatabasanslutningen som användare stöter på.
Testmiljö:
- Applikationsserver-IP :10.24.96.5
- Databasserver-IP :10.24.96.6
Vi stötte på felet när vi testade databasanslutning från en av våra appservrar till en databasserver med mysql klient som visas.
# mysql -u database_username -p -h 10.24.96.6
Felet indikerar att värden 10.24.96.5 som databasanvändaren ansluter från får inte ansluta till MySQL-servern. I det här fallet måste vi göra några ändringar i databasservern för att användaren ska kunna ansluta på distans.
På databasservern måste vi kontrollera den värd som användaren ovan har tillåtelse att ansluta från.
# mysql -u root -p
Kör följande SQL-kommandon för att kontrollera användarens värd:
MariaDB [(none)]> SELECT host FROM mysql.user WHERE user = "database_username";
Från kommandots utdata tillåts användaren endast ansluta till databasservern från localhost . Så vi måste uppdatera användarens värdar enligt följande.
Kör följande GRANT kommando för att aktivera MySQL-åtkomst för fjärranvändaren från en fjärrvärd. Se till att ersätta "10.24.96.6 " med IP-adressen för fjärrsystemet och "database_password ” till lösenordet som du vill ha ”database_username " att använda:
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";
För att ge en användare fjärråtkomst från alla värdar i ett nätverk, använd syntaxen nedan:
MariaDB [(none)]> GRANT ALL ON database_name.* to 'database_username'@'10.24.96.%' IDENTIFIED BY 'database_password';
Efter att ha gjort ändringarna ovan, försök att fjärransluta till MySQL-databasservern en gång till. Anslutningen bör vara framgångsrik enligt följande skärmdump.
# mysql -u database_username -p -h 10.24.96.6
Vi hoppas att den här lösningen hjälpte dig att lösa ditt Mysql-fjärranslutningsfel. Om du har några frågor kontakta oss via feedbackformuläret nedan.