我一直在尝试从我的计算机本地主机连接我的专用服务器 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)。