2012-05-25 105 views
2

我试图从服务器Y上的php脚本访问服务器X上的MySQL数据库。两者都是专用的cPanel服务器,我有root访问权限。以下是我所尝试的:远程MySQL连接问题 - 丢失与MySQL服务器的连接(110)

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

尽管所有的这些事情我已经试过,每当我试图在服务器YI运行脚本得到超时消息:

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()); 

谢谢!

回答

1

不知道它会有多少帮助,但尝试打开my.cnf并用您的实时服务器ip替换绑定地址设置(127.0.0.1或localhost)。

+0

我刚刚尝试过并重新启动MySQL,但似乎没有帮助。 –

0

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

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

你用127.0.0.1和localhost测试了你的my.cnf文件吗?

你在两台机器上运行的是哪个版本的MySQL?你可以升级它们吗?

+0

我还没有联系我的托管公司,因为我试图避免它,但这可能是下一步。远程机器上有一个防火墙,但正如我所说,我将其他服务器的IP列入了白名单,并打开了端口3306.我只是尝试了my.cnf破解,它也没有效果。两台服务器都运行v5.1.62-cll –