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

Warum verbindet sich mein PHP-Code nicht mit meiner Remote-MySql-Datenbank?

Das erste, was ich überprüfen würde (falls Sie dies noch nicht getan haben), ist, dass Sie sich tatsächlich von dem Computer, auf dem Ihr PHP-Skript ausgeführt wird, mit der Datenbank verbinden können. Dies, um ein Netzwerk- oder Firewall-Problem auszuschließen.

Das erste, was wäre, wäre, den Server zu pingen. Führen Sie in einer DOS-Eingabeaufforderung Folgendes aus:

ping servername

Wobei "Servername" dieselbe Zeichenfolge ist, die Sie oben in Ihr PHP-Skript eingegeben haben. Wenn dies nicht mit einer Zeichenfolge ähnlich der folgenden antwortet, ist das erste Wort insbesondere nicht "Antwort":

Reply from 192.168.239.132: bytes=32 time=101ms TTL=124

Dies bedeutet, dass höchstwahrscheinlich keine Verbindung zwischen dem Computer, auf dem das PHP-Skript ausgeführt wird, und dem MySQL-Server besteht. Ich würde dann prüfen, ob der Server und der Computer ordnungsgemäß mit dem Netzwerk verbunden sind, ob der Server aktiv ist und ob auf Ihrem Computer oder auf dem Server keine Firewall vorhanden ist, auf der das PHP-Skript ausgeführt wird.

Wenn Ihr obiger Test nun "Antworten" auf den Ping anzeigt, können Sie testen, ob Sie von Ihrem PHP-Server aus eine Verbindung zum Mysql-Dienst herstellen können. Dazu können Sie Mysql Workbench verwenden (http://dev.mysql.com/downloads/workbench/ ) und erstellen Sie von dort aus eine Verbindung mit den Datenbankparametern, die Sie Ihrem Skript übergeben. Wenn Sie keine Verbindung mit Mysql Workbench herstellen können, müssen Sie möglicherweise eine Firewall auf Ihrem Mysql-Server oder auf Ihrem Computer, auf dem PHP ausgeführt wird, deaktivieren oder den Mysql-Server aktivieren, um Remote-Verbindungen für die Datenbank und den Benutzernamen zu akzeptieren, die Sie in Ihrem PHP-Skript verwenden ( Einige Distributionen haben Mysql-Server installiert, um aus Sicherheitsgründen nur lokale Verbindungen zu akzeptieren).

Wenn das Problem eine Berechtigung im Server ist (der Benutzer kann sich beispielsweise nur lokal verbinden, aber nicht von einem entfernten Computer aus), können Sie die Berechtigung im Mysql-Server mit dem GRANT-Befehl aktivieren:http://dev.mysql.com/doc/refman/5.1/en/grant.html