我有一个 MySQL 数据库,由我在 Windows 服务器上托管,我想从远程网络服务器查询它。当我尝试使用 PHP 连接到 MySQL 数据库时(我知道,我应该使用 mysqli):
$connection = @mysql_connect("203.0.113.0:3306", "username", "password");
无论是否指定端口,经过长时间的加载后,我都会收到此错误,并errorno
显示2003:
无法连接到“203.0.113.0”上的 MySQL 服务器 (4)
这是我netstat -n
在托管 MySQL 服务器的服务器上在命令提示符下运行时得到的结果:http: //pastebin.com/pbRJNqCZ。它填满了屏幕,所以我无法复制所有内容,但我知道其他所有内容都是(我看到了几个值为 3306 的端口,即 MySQL 端口):
TCP 127.0.0.1:port 127.0.0.1:port ESTABLISHED
当我运行时,netstat -a | find "LISTENING"
我得到: http: //pastebin.com/Lqj2BrQK
到目前为止,这是我所知道的:
- MySQL 服务器未启动并不是错误,因为我可以在本地连接到它。
- 网络服务器无法连接到 MySQL 数据库不是错误,因为我可以连接到其他数据库
- 不是认证错误(用户名密码正确,远程服务器有权限)
- 这不是端口转发错误,因为端口
3306
在 TCP 和 UDP 上都被转发。 - 能够连接到托管服务器的机器不是错误,因为我可以很好地 ping 它。
- 服务器不仅在 localhost 接口上侦听。
skip-networking
并在我的文件bind-address
中被注释掉。my.cnf
我如何编辑我的连接代码,或编辑我的 MySQL 服务器来修复这个错误?