我有Windows 7系統,並安裝在其中的xampp。從遠程系統的PHP的XAMPP Mysql連接錯誤
我可以使用http://ipaddress:8080/phpmyadmin從遠程系統訪問的phpmyadmin。
但如果我嘗試從PHP訪問它,它給我的錯誤:
Warning: mysqli::mysqli(): (HY000/2013): Lost connection to MySQL server at 'reading initial communication packet', system error: 20
我的PHP代碼是
define("HOST", "X.X.X.X");
define("PORT", "port"); // The host you want to connect to.
define("USER", "user"); // The database username.
define("PASSWORD", "password"); // The database password.
define("DATABASE", "DBname"); // The database name.
$mysqli = new mysqli(HOST, USER, PASSWORD, DATABASE, PORT);
// or without port $mysqli = new mysqli(HOST, USER, PASSWORD, DATABASE);
if ($mysqli->connect_errno) {
printf("Connect failed: %s\n", $mysqli->connect_error);
exit();
}
我也曾嘗試防火牆關閉,也允許端口3306到防火牆,但沒有運氣。將主機的所有權限授予此用戶(%)。
我一直在使用bind_address = 0.0.0.0,評論線也試過,也bind_address = X.X.X.X(我的IP)。
也嘗試將套接字類型從「MySQL」更改爲「TCP/IP」。 skip-networking行也是默認的註釋。
我已經嘗試使用從命令迅速獲得:
的MySQL -h XXXX -u根-p
這將使錯誤:
Warning: mysqli::mysqli(): (HY000/2003): Can't connect to MySQL server on 'X.X.X.X' (110).
在連接同一系統中使用本地主機字符串它工作正常。
我錯了我無法弄清楚。我搜索並嘗試了所有可能的解決方案。 感謝您的幫助。
注:而不是上面,現在我的conf文件一樣在安裝時。請不要將此問題標記爲重複。
編輯:@Jay布蘭查德,正如我剛纔提到的是解決方案還,在這種情況下,系統錯誤:0,在我的情況下系統錯誤:20.感謝您的幫助。
的可能的複製[在「讀取初始通信分組」迷失連接到MySQL服務器,系統錯誤:0](http://stackoverflow.com/questions/5755819/lost-connection-to-mysql-server-at- read-initial-communication-packet-syste) –
我對telnet不太熟悉,但是我試過使用這個命令「telnet xxxx 3306」。但是我收到這條消息 - 「telnet:無法連接到遠程主機:連接超時」 – herr
它表明端口未打開?您是否嘗試過3306的在線端口掃描?這將確認該端口是否打開? –