SQLSTATE[HY000] [2006] MySQL服务器已经关闭(SQL:select * from `listings` where `is_active` = 1 order by `created_at` desc)

28 浏览
0 Comments

SQLSTATE[HY000] [2006] MySQL服务器已经关闭(SQL:select * from `listings` where `is_active` = 1 order by `created_at` desc)

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

文件处理需要一些时间,但是处理过程中出现了以下错误:

2006, MySQL服务器已断开连接

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

0
0 Comments

在MySQL命令行中,我使用了以下命令来恢复一个大小超过7GB的MySQL数据库,而且它也起到了作用。

set global max_allowed_packet=268435456;

不知道为什么会被投票为负分?这个错误与数据包大小有关是有道理的...

这解决了我的问题,虽然与问题本身无直接关系,但应该能帮助遇到这个其他问题的人。

要检查是否更改或查看当前值,可以使用 show variables like 'max_allowed_packet';

根据上述内容,可以总结出以下问题的原因以及解决方法:

原因:在执行SQL查询语句时出现了SQLSTATE[HY000] [2006] MySQL server has gone away的错误。

解决方法:通过在MySQL命令行中设置全局变量max_allowed_packet的值来解决该问题。

具体的解决方法是通过执行以下命令来设置max_allowed_packet的值:

set global max_allowed_packet=268435456;

此外,还提到了使用show variables like 'max_allowed_packet';来检查或查看当前max_allowed_packet的值。

0