Mysql
 sql >> Datenbank >  >> RDS >> Mysql

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

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

Testumgebung:

  • 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 unter Verwendung von mysql aufgetreten Client wie gezeigt.

# mysql -u database_username -p -h 10.24.96.6

Der Fehler zeigt an, dass der Host 10.24.96.5 von der der Datenbankbenutzer eine Verbindung herstellt, darf sich nicht mit dem MySQL-Server verbinden. In diesem Fall müssen wir einige Änderungen am Datenbankserver vornehmen, damit der Benutzer sich remote verbinden kann.

Auf dem Datenbankserver müssen wir den Host überprüfen, von dem der obige Benutzer sich verbinden 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 das folgende GRANT aus Befehl, um den MySQL-Zugriff für den Remote-Benutzer von einem Remote-Host aus zu aktivieren. Achten Sie darauf, „10.24.96.6 zu ersetzen “ durch die IP-Adresse des Remote-Systems und „database_password “ zu dem gewünschten Passwort „database_username ” 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 obigen Änderungen vorgenommen haben, versuchen Sie erneut, eine Remote-Verbindung zum MySQL-Datenbankserver herzustellen. Die Verbindung sollte wie im folgenden Screenshot gezeigt erfolgreich sein.

# mysql -u database_username -p -h 10.24.96.6

Wir hoffen, dass diese Lösung Ihnen geholfen hat, Ihren Mysql-Fernverbindungsfehler zu beheben. Wenn Sie Fragen haben, kontaktieren Sie uns über das Feedback-Formular unten.