6

我正在尝试通过专用服务器上的 localhost 连接到我的 mySQL 服务器,但我不断收到错误消息:

Lost connection to MySQL server at 'reading initial communication packet', system error: 110

代码:

<?php

$link = mysql_connect('localhost', '****', '****'); 
if (!$link) { 
    die('Could not connect: ' . mysql_error()); 
} 

我还没有配置防火墙,所以所有端口都应该打开。我需要做什么?我已经检查了其他几个类似的问题,但没有一个能解决我的问题。我没有远程连接

更新

好的,我发现了与服务器连接的问题(我连接了两次)。我现在可以连接到服务器,但是当我运行任何查询时,服务器返回 FALSE。我以前使用过此代码并且以前可以使用,但是现在我更改了服务器,它无法正常工作。

谢谢,

大卫

4

2 回答 2

3

可能是您使用不同的参数连接到您的数据库

于 2012-10-05T05:06:42.213 回答
1

我在服务器 A 上有一个类似的错误代码“110”。从未更改过服务器 A 和 B 上的凭据等。但是,我的问题是一台服务器实际上是通过 MySQL 端口进行通信的:服务器 B 的 3306,并且我最近在服务器 B 上设置了防火墙,以允许从服务器 A 远程访问 MySQL。服务器 A 试图连接到服务器 B MySQL 端口 3306,而网络服务器将超时,发出 MySQL 错误代码和代码行错误。

对我有用的解决方案是:
sudo ufw status

检查 MySQL 端口是否在列表中,如果没有,请执行以下操作:
sudo ufw allow mysql

这会将 ip4 和 ip6 规则添加到防火墙允许列表中。

祝你好运!

于 2016-09-16T17:48:06.820 回答