我正在尝试从服务器 Y 上的 php 脚本访问服务器 X 上的 MySQL 数据库。两者都是我具有 root 访问权限的专用 cPanel 服务器。这是我尝试过的:
- 在服务器 XI 上,将服务器 Y 的 IP 地址放入 WHM 的“附加 MySQL 访问主机”功能中。
- 在服务器 XI 上,为托管我尝试连接的数据库的帐户登录 cPanel,并在“远程数据库访问主机”页面上输入服务器 Y 的 IP。
- 在服务器 XI 上,防火墙中的服务器 Y 的 IP 被列入白名单,并打开了传入/传出端口 3306 TCP。
- 在服务器 XI 上,将服务器 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());
谢谢!