远程 MySQL 连接问题 - 与 MySQL 服务器的连接丢失 (110)


Remote MySQL Connection Issues - Lost connection to MySQL server (110)

我正在尝试从服务器Y上的php脚本访问服务器X上的MySQL数据库。 两者都是我具有root访问权限的专用cPanel服务器。 这是我尝试过的:

  1. 在服务器X上,我将服务器Y的IP地址放在WHM的"其他MySQL访问主机"功能中。
  2. 在服务器 X 上,我登录到托管我尝试连接的数据库的帐户的 cPanel 并在"远程数据库访问主机"页面上输入了服务器 Y 的 IP。
  3. 在服务器 X 上,我将服务器 Y 的 IP 列入防火墙白名单,并打开传入/传出端口 3306 TCP。
  4. 在服务器 X 上,我将服务器 Y 的 IP 地址添加到/etc/hosts.allow 文件中

尽管我已经尝试了所有这些方法,但每当我尝试在服务器 Y 上运行脚本时,我都会收到超时消息:

Warning: mysql_connect() [function.mysql-connect]: Lost connection to MySQL server at 'reading initial communication packet', system error: 110

这是我的PHP代码:

$host = '123.456.789.0'; //server X's IP
$db = 'user_test';
$user = 'user_test';
$pass = 'password';
if(mysql_connect($host, $user, $pass)){
    mysql_select_db($db);
}
else die(mysql_error());

谢谢!

不确定它会有多大的帮助,但请尝试打开 my.cnf 并将绑定地址设置(127.0.0.1 或本地主机)替换为您的实时服务器 IP。

您是否联系过您的托管服务提供商,看看他们是否可以提供帮助?

您要连接的 Linux 计算机上是否有防火墙?

您是否使用 127.0.0.1 和本地主机测试了您的 my.cnf 文件?

您在两台计算机上运行的MySQL版本是什么?你能升级它们吗?