Heim >Datenbank >MySQL-Tutorial >Warum kann ich trotz „bind-address = 0.0.0.0' keine Verbindung zu meinem MySQL-Server von einem Remote-Host aus herstellen?

Warum kann ich trotz „bind-address = 0.0.0.0' keine Verbindung zu meinem MySQL-Server von einem Remote-Host aus herstellen?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-17 08:06:25754Durchsuche

Why Can't I Connect to My MySQL Server from a Remote Host Despite `bind-address = 0.0.0.0`?

MySQL-Verbindungsfehler: HOST '' Es konnte keine Verbindung zum MySQL-Server hergestellt werden

Beim Versuch, mit dem MySQL-Befehl eine Verbindung zu MySQL herzustellen Wenn Sie versuchen, eine Verbindung zum Server herzustellen, erhalten Sie die folgende Fehlermeldung:

ERROR 1130 (HY000): Host 'xxx.xxx.xxx.xxx' is not allowed to connect to this MySQL server

Dieser Fehler weist darauf hin, dass der Server so konfiguriert wurde, dass nur bestimmte Hosts eine Verbindung zulassen, und Ihr Host nicht in der Liste der zulässigen Hosts aufgeführt ist .

Überprüfen Sie die Root-Benutzerberechtigungen

In Ihrem Fall haben Sie bind-address in my.cnf auf 0.0.0.0 gesetzt, was bedeutet, dass der Server Verbindungen von allen Hosts akzeptieren sollte. Sie können jedoch immer noch keine Verbindung herstellen. Dies kann daran liegen, dass der Root-Benutzer nur berechtigt ist, eine Verbindung von localhost aus herzustellen.

Um dies zu überprüfen, führen Sie die folgende Abfrage aus:

SELECT host FROM mysql.user WHERE User = 'root';

Wenn die Ergebnisse nicht den Hostnamen oder die IP-Adresse enthalten, von der aus Sie eine Verbindung herstellen möchten, müssen Sie dem die Berechtigung erteilen Root-Benutzer von diesem Host. Berechtigung zum Herstellen einer Verbindung.

Berechtigung zum Herstellen einer Verbindung erteilen

Um dem Root-Benutzer die Berechtigung zum Herstellen einer Verbindung von einem bestimmten Host aus zu erteilen, verwenden Sie den folgenden Befehl:

CREATE USER 'root'@'host_ip' IDENTIFIED BY 'some_pass';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'host_ip';

wo host_ip ist die IP-Adresse des Hosts, zu dem Sie Verbindungen zulassen möchten.

Wenn Sie allen Hosts Verbindungsberechtigungen erteilen möchten, können Sie den Platzhalter % verwenden:

CREATE USER 'root'@'%' IDENTIFIED BY 'some_pass';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';

Aktualisieren Sie abschließend die Berechtigungen, damit sie sofort wirksam werden:

FLUSH PRIVILEGES;

Jetzt sollten Sie in der Lage sein, den Befehl mysql zu verwenden, um von einem bestimmten Remote-Host aus eine Verbindung zum MySQL-Server herzustellen.

Das obige ist der detaillierte Inhalt vonWarum kann ich trotz „bind-address = 0.0.0.0' keine Verbindung zu meinem MySQL-Server von einem Remote-Host aus herstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn