我正在尝试通过我的专用服务器上的localhost连接到我的mySQL服务器,但我一直收到错误:
Lost connection to MySQL server at 'reading initial communication packet', system error: 110
CODE:
<?php
$link = mysql_connect('localhost', '****', '****');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
我没有配置防火墙,因此所有端口都应该打开。我需要做什么?我已经检查了其他几个类似的问题,但没有一个能解决我的问题。 我没有远程连接。
更新
好的,我发现连接到服务器的问题(我连接了两次)。我现在能够连接到服务器,但是当我运行任何查询时,服务器返回FALSE。我之前使用过这段代码并且之前已经使用过了,但是现在我已经更改了服务器,但它无法正常工作。
谢谢,
大卫
答案 0 :(得分:3)
您可能正在使用不同的参数连接到您的数据库
答案 1 :(得分:0)
我在服务器A上有类似的错误代码“110”。从未更改服务器A和B上的凭据等。但是,我的问题是一台服务器实际上是通过MySQL端口进行通信:3306服务器B,我最近在服务器B上设置了防火墙,允许从服务器A远程访问MySQL。服务器A试图连接到服务器B MySQL端口3306,网络服务器只是超时,发出MySQL错误代码和行错误码。
对我有用的解决方案是:
sudo ufw status
检查MySQL端口是否在列表中,如果不这样做:
sudo ufw允许mysql
这会将ip4和ip6规则添加到防火墙允许列表中。
祝你好运!