Apache服务器A尝试连接到MySQL服务器B.超时。 我错过了什么?

我有一个Apache Web服务器(红帽企业Linux服务器版本5.5(Tikanga))运行PHP 5.3.2。 我正在尝试与一个新的Ubuntu 10.04 64位服务器运行MySQL服务器的PHP连接。 下面的设置运行到位。

  • MySQL服务器版本5.1
  • 这两台机器之间没有限制连接的防火墙规则。 无论是在我们的硬件防火墙还是在iptables中。
  • /etc/mysql/my.cnf将绑定地址设置为机器的IP地址。
  • 跳过networking被注释掉,即禁用。
  • mysql正在运行,并在标准端口3306上运行

以下是我的PHP连接脚本:

<?php $nl = "<br>"; $host="555.555.55.55"; $user="some_user"; $pass="some_pass"; $conn = mysql_connect($host, $user, $pass); if (!$conn){ die('Could not connect: ' . mysql_error() . $nl); } else { echo "connected!"; } mysql_close($conn); ?> 

试图在apache服务器托pipe的浏览器中执行php脚本只会产生:“无法连接:无法连接到'555.555.55.55'(4)上的MySQL服务器”

有什么build议么? 谢谢。

testing1必须是:

 apachebox% telnet mysqlbox 3306 

如果没有连接,你就有一个问题,必须在其他任何工作之前进行sorting。

如果超时,请安装tshark。 (你的软件包pipe理器应该有最新版本)

在客户端和服务器上:(add -i <adaptor>如果它不是eth0的话)

 tshark port 3306 

再次尝试连接,并观察两个会话,看看数据包被丢弃的地方。 这将缩小在哪里看,开始。

SELinux的? 也许它已启用,未configuration。

你能连接到你的Mysql服务器从局域网内的另一个客户端?

我们将机器的ip更改为我们机构内不同的ip范围。 从私人范围到公共IP。 它现在连接。 我们正在调查这个私人范围。 感谢大家的帮助!