gpt4 book ai didi

mysql - 生产环境频繁Mysql gone away (Error 2006)

转载 作者:行者123 更新时间:2023-11-29 03:22:18 25 4
gpt4 key购买 nike

我在 django 1.10、python3.4、mysqlclient、mysql5.5 上运行一个网站。

我有多个管理命令在后台运行,用于不同时间的各种任务(如邮件发送、更新表)。最近,我开始看到许多 Mysql 消失了(错误 2006)。

我试图将 connection_timeout 更改为大于 max_connection age。这解决了一小部分问题,在大多数情况下,正在运行的函数停止出现错误 2006,但其他情况仍然如此,并且经常看到错误 2006。

在某些情况下,我尝试在运行函数或将其放入 try - except 循环之前使用 django.db.connection.close() 。在那些地方,这个错误不再发生,但我不能把这个 try-except 循环放在每个函数中。

Mysql gone away这个反复报错的根本原因是什么?有哪些不同的解决方案?最佳解决方案是什么,这样我就不必更改我的大部分代码?

其他变量:

我们从 django 1.7 升级到 1.10,最近更新了 mysqlclient 包,问题可能在那之后就出现了。

就在更新前后,我们网站的访问量也增加了数倍。这可以作为触发器吗?

最佳答案

正如在别处看到的那样,问题可能是您的查询太长,或者服务器由于不活动而关闭了连接。这在很大程度上取决于具体情况,但似乎如果您不在进行交易(这会排除第二种可能性),您可以应用类似于 Hook available for automatic retry after deadlock in django and mysql setup 的内容。

关于mysql - 生产环境频繁Mysql gone away (Error 2006),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42240998/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com