我正在办公室运行一台服务器来处理一些文件,并将结果报告给远程MySQL服务器。

文件处理需要一段时间,进程中途死亡,并出现以下错误:

2006, MySQL server has gone away

我听说过MySQL的设置,wait_timeout,但是我需要在我办公室的服务器或远程MySQL服务器上更改它吗?


当前回答

不太可能的情况是,在客户端和服务器之间有一个防火墙,强制TCP重置到连接中。

我遇到了这个问题,我发现我们公司的F5防火墙被配置为终止空闲超过5分钟的非活动会话。

再说一次,这是不太可能发生的情况。

其他回答

我找到了解决“#2006 - MySQL服务器已经消失”这个错误的方法。 解决办法就是检查两个文件

config.inc.php config.sample.inc.php

这些文件在windows下的路径为

C:\wamp64\apps\phpmyadmin4.6.4

在这两个文件中this的值:

$cfg['Servers'][$i]['host']must be 'localhost' .

我的情况是:

$cfg['Servers'][$i]['host'] = '127.0.0.1';

改为:

"$cfg['Servers'][$i]['host']" = 'localhost';

两方面都要确保:

config.inc.php Config.sample.inc.php文件必须是'localhost'。

最后一组:

$cfg['Servers'][$i]['AllowNoPassword'] = true;

然后重新启动Wampserver。


修改phpmyadmin用户名和密码

可以直接通过config.inc.php文件修改phpmyadmin的用户名和密码

这两条线

$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '';

在这里你可以输入新的用户名和密码。 更改后保存文件并重新启动WAMP服务器。

这通常表示MySQL服务器连接问题或超时。 通常可以通过更改my.cnf或类似文件中的wait_timeout和max_allowed_packet来解决。

我建议以下几点:

Wait_timeout = 28800

max_allowed_packet = 8M

我在Ubuntu桌面上的不同MySQL客户端软件中得到了2006年错误消息。原来我的JDBC驱动程序版本太旧了。

我也有同样的问题,但改变my.ini/my.cnf文件下[mysqld]的max_allowed_packet。

添加一条线

max_allowed_packet = 500

现在重新启动MySQL服务,一旦你完成。

检查连接是否存在并在需要时重新建立连接可能更容易。

有关这方面的信息,请参阅PHP:mysqli_ping。