远程连接mysql时出错

远程连接mysql时出错

我一直在尝试从我的计算机本地主机连接我的专用服务器 mysql db,我的代码在这里;

$dbhost = 'domain.com';
$dbuser = 'username';
$dbpass = 'pass';

$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die('Could not connect: ' . mysql_error());

$dbname = 'dbname';
mysql_select_db($dbname);

我得到了那个错误

Could not connect: Lost connection to MySQL server at 'reading initial communication packet', system error: 61

专用服务器是 Linux centos 64 位、php 3.2.4、mysql 5.1.54

有没有什么解决方法?

谢谢

答案1

验证 MySQL 是否正在运行,以及您是否能够使用“telnet xxxx 3306”进行连接。如果可以做到这一点,则问题出在 MySQL 的权限上。如果不行,请按照上一位用户的建议检查防火墙(iptables -L),并验证 my.cnf 是否设置为监听 tcp(确保没有 skip_networking 行)。

答案2

检查 MySQL 服务器上的 my.cnf,特别是 bind-address 参数。大多数情况下,您需要注释掉它以接受服务器上所有 IP 地址的连接。

答案3

检查专用服务器上的防火墙设置。MySql 服务器的端口可能被阻止(通常是 3306)。

相关内容