首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在MySQL中读取通信数据包时出错

在MySQL中读取通信数据包时出错
EN

Stack Overflow用户
提问于 2012-03-29 18:05:56
回答 3查看 12K关注 0票数 1

我收到MySQL错误

“读取通信数据包时出错”

在MySQL.err文件和我的应用程序端,我收到了2013错误(查询过程中连接丢失)。

所有超时值为(以秒为单位):

代码语言:javascript
复制
wait_timeout = 60
net_read_timeout = 30
connect_timeout = 30

如何解决这个问题?

EN

回答 3

Stack Overflow用户

发布于 2018-02-02 00:00:02

无论如何,这种模糊的错误在许多可能的罪魁祸首中都是很常见的。

通常,系统或调用程序的每个say...but的MySql都不是问题。例如,有时你的php内存限制设置得很低,或者交换驱动器永远不会发生setup...that崩溃,PHP和MySQL会对发生的事情感到困惑。

在我的例子中,我没有这样做,但我正在尝试对一个包含非utf8字符的字符串执行json_encode,这将无声地失败,并将mysql拖到下面。最重要的是,PHP7中的OPCache似乎存在严重的错误,并且缺乏适当的错误日志记录。我不得不禁用它,因为well...then神奇地解决了/var/log/mysql/error.log中所有的“通信数据包”问题。

希望这能帮助someone...gave我更多的悲伤。

票数 2
EN

Stack Overflow用户

发布于 2021-03-29 15:32:09

另一个非常奇怪的情况:检查你的内存和交换!

如果你没有足够的内存和交换空间,你的操作系统可能会决定杀死进程,在MySQL (Got an error reading communication packets)的情况下导致你的确切错误。在虚拟机中,这是一种常见的情况,提供商通常不会为交换安装任何分区(而且通常人们不会支付足够的RAM)。

因此,请仔细检查tophtop,以验证是否有大约100%的内存在使用中,或者是否没有足够的交换空间(或者根本没有交换空间)。

在这种情况下,购买更多的RAM或在您的发行版中搜索“如何安装swapfile”。

如果不是这样,请看其他答案。干杯!:)

票数 0
EN

Stack Overflow用户

发布于 2016-01-27 19:50:16

如果您已经升级了mysql,也许您可以这样做:

代码语言:javascript
复制
mysql_upgrade -u root -p --force

当brew将mysql从5.6.x升级到5.7.x时,这对我有帮助

票数 -4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9923203

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档