Website-Suche

So beheben Sie FEHLER 1130 (HY000): Der Host darf keine Verbindung zu diesem MySQL-Server herstellen


In diesem kurzen Artikel erfahren Sie, wie Sie den Fehler „ERROR 1130 (HY000): Host x.x.x.x darf keine Verbindung zu diesem MySQL-Server herstellen“ bei der MySQL/MariaDB-Datenbankbereitstellung auf einem Linux-System beheben. Dies ist einer der häufigsten Fehler bei der Remote-Datenbankverbindung, auf die Benutzer stoßen.

Test Umgebung:

  • Anwendungsserver-IP: 10.24.96.5
  • Datenbankserver-IP: 10.24.96.6

Der Fehler ist beim Testen der Datenbankverbindung von einem unserer App-Server zu einem Datenbankserver mit dem MySQL-Client aufgetreten, wie gezeigt.

mysql -u database_username -p -h 10.24.96.6

Der Fehler weist darauf hin, dass der Host 10.24.96.5, von dem aus der Datenbankbenutzer eine Verbindung herstellt, keine Verbindung zum MySQL-Server herstellen darf. In diesem Fall müssen wir einige Änderungen am Datenbankserver vornehmen, um dem Benutzer eine Remoteverbindung zu ermöglichen.

Auf dem Datenbankserver müssen wir den Host überprüfen, von dem aus der oben genannte Benutzer eine Verbindung herstellen darf.

mysql -u root -p

Führen Sie die folgenden SQL-Befehle aus, um den Host des Benutzers zu überprüfen:

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

Aus der Ausgabe des Befehls geht hervor, dass der Benutzer nur vom localhost aus eine Verbindung zum Datenbankserver herstellen darf. Daher müssen wir die Hosts des Benutzers wie folgt aktualisieren.

Führen Sie den folgenden GRANT-Befehl aus, um den MySQL-Zugriff für den Remote-Benutzer von einem Remote-Host aus zu aktivieren. Stellen Sie sicher, dass Sie „10.24.96.6“ durch die IP-Adresse des Remote-Systems und „database_password“ durch das gewünschte Passwort „database_username“ ersetzen > ” zu verwenden:

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

Um einem Benutzer Fernzugriff von allen Hosts in einem Netzwerk zu gewähren, verwenden Sie die folgende Syntax:

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

Nachdem Sie die oben genannten Änderungen vorgenommen haben, versuchen Sie erneut, eine Remoteverbindung zum MySQL-Datenbankserver herzustellen. Die Verbindung sollte erfolgreich sein, wie im folgenden Screenshot gezeigt.

mysql -u database_username -p -h 10.24.96.6

Wir hoffen, dass diese Lösung Ihnen bei der Behebung Ihres MySQL-Remote-Verbindungsfehlers geholfen hat. Wenn Sie Fragen haben, erreichen Sie uns über das unten stehende Feedback-Formular.