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

时间:2012-05-25 22:38:36

标签: php mysql

我正在尝试从服务器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文件
  5. 尽管我尝试了所有这些事情,每当我尝试在服务器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());
    

    谢谢!

2 个答案:

答案 0 :(得分:1)

不确定会有多少帮助,但请尝试打开my.cnf并将bind-address设置(127.0.0.1或localhost)替换为您的实时服务器ip。

答案 1 :(得分:0)

您是否与托管服务提供商联系,了解他们是否可以提供帮助?

你连接的linux机器上是否有防火墙?

您是否使用127.0.0.1和localhost测试了my.cnf文件?

您在两台计算机上运行的是哪个版本的MySQL?你能升级吗?