我有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的在线端口扫描?这将确认该端口是否打开? –