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
Freigeben: 2024-12-17 08:06:25
Original
751 Leute haben es durchsucht

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
Nach dem Login kopieren

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';
Nach dem Login kopieren

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';
Nach dem Login kopieren

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'@'%';
Nach dem Login kopieren

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

FLUSH PRIVILEGES;
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage