问题描述

使用django+celery时, 运行长时间的任务, 一开始操作一次数据库, 20个小时后再次操作数据库.

过了20多个小时, 再次操作数据库时报错.

raised unexpected: OperationalError(2006, 'MySQL server has gone away')
Traceback (most recent call last):File "/usr/local/lib/python2.7/dist-packages/django/db/models/manager.py", line 85, in manager_methodreturn getattr(self.get_queryset(), name)(*args, **kwargs)File "/usr/local/lib/python2.7/dist-packages/django/db/models/query.py", line 374, in getnum = len(clone)File "/usr/local/lib/python2.7/dist-packages/django/db/models/query.py", line 232, in __len__self._fetch_all()File "/usr/local/lib/python2.7/dist-packages/django/db/models/query.py", line 1118, in _fetch_allself._result_cache = list(self._iterable_class(self))File "/usr/local/lib/python2.7/dist-packages/django/db/models/query.py", line 53, in __iter__results = compiler.execute_sql(chunked_fetch=self.chunked_fetch)File "/usr/local/lib/python2.7/dist-packages/django/db/models/sql/compiler.py", line 894, in execute_sqlraise original_exception
OperationalError: (2006, 'MySQL server has gone away')

原因

连接超时

我出现问题就是这个原因.
进入mysql,执行下面的命令:

mysql> show global variables like '%timeout';+----------------------------+----------+
| Variable_name              | Value    |
+----------------------------+----------+
| connect_timeout            | 10       |
| delayed_insert_timeout     | 300      |
| innodb_lock_wait_timeout   | 50       |
| innodb_rollback_on_timeout | OFF      |
| interactive_timeout        | 28800    |
| lock_wait_timeout          | 31536000 |
| net_read_timeout           | 30       |
| net_write_timeout          | 60       |
| slave_net_timeout          | 3600     |
| wait_timeout               | 28800    |
+----------------------------+----------+

wait_timeout 是28800秒,即mysql链接在无操作28800秒后被自动关闭

解决方法

立即生效

执行下面的sql命令

mysql> set global wait_timeout=60*60*30;

该命令是将wait_timeout设置为30小时.
用这种方法,修改完立即生效. 如果重启mysql, 又恢复原来的28800秒.

永久生效

该方法修改完之后, 需要重启mysql才能生效.
编辑mysql配置文件my.cnf,添加或修改为下面这条命令.
(我的mysql配置文件路径: /etc/mysql/my.cnf )

wait_timeout = 108000

其他原因

还有一些其他原因, 简单描述一下
1: mysql服务关闭
2: 数据包 过大
解决方法: 修改 max_allowed_packet 的值, 方法同上.

OperationalError: (2006, 'MySQL server has gone away')相关推荐

  1. pymysql.err.OperationalError: (2006, “MySQL server has gone away (BrokenPipe

    目录 第一种情况:真的是连接数据库超时导致,比较常见 第二种情况:MySQL插入内容超过4M 在使用python+Django写项目时,需要用到定时任务apscheduler,但服务在长时间运行时,定 ...

  2. (2006, 'MySQL server has gone away') 错误解决 - dba007的空间 - 51CTO技术博客

    (2006, 'MySQL server has gone away') 错误解决 - dba007的空间 - 51CTO技术博客 (2006, 'MySQL server has gone away ...

  3. django mysql 2006_Django (2006, 'MySQL server has gone away') 本地重现与解决

    最近我们的Django项目供Java Sofa应用进行tr调用时, 经常会出现一个异常: django.db.utils.OperationalError: (2006, 'MySQL server ...

  4. #2006 - MySQL server has gone away 问题解决方法 (全) (转)

    #2006 - MySQL server has gone away 问题解决方法 (全) (转) 参考文章: (1)#2006 - MySQL server has gone away 问题解决方法 ...

  5. Yii2 解决2006 MySQL server has gone away问题

    Yii2 解决2006 MySQL server has gone away问题 参考文章: (1)Yii2 解决2006 MySQL server has gone away问题 (2)https: ...

  6. Yii 数据库重连告别General error: 2006 MySQL server has gone away

    General error: 2006 MySQL server has gone away 错误原因 制造错误 解决办法 最新办法 错误原因 Mysql has gone away MySQL 服务 ...

  7. peewee mysql自动断开_flask+mako+peewee(下)(解决了Error 2006: MySQL server has gone away)

    这篇主要介绍在这次项目中使用的peewee 首先我们要初始化一个数据库连接对象.这里我使用了peewee提供的链接池.当然你也可以直接指定连接例如: db = SqliteDatabase('base ...

  8. (2006, ‘MySQL server has gone away‘) 原因和解决方案

    mysql出现ERROR : (2006, 'MySQL server has gone away') 的问题意思就是指client和MySQL server之间的链接断开了. 首选分析给出可能出现的 ...

  9. Navicat运行sql文件处理失败[ERR] 2006 - MySQL server has gone away解决

    问题 如图,近一半数据处理失败,失败原因为[ERR] 2006 - MySQL server has gone away 原因 sql操作的时间过长,或者是传送的数据太大 解决 取消勾选在每个运行中运 ...

最新文章

  1. 2018-3-23Markov 链(笔记一)定义
  2. 16DOM之事件基础
  3. php 如何得到 file_get_contents 数据,如何使用file_get_contents在PHP中发布数据?
  4. [UE4蓝图教程]蓝图入门之蓝图通信机制入门
  5. 资源监控工具Spotlight-使用说明
  6. C# 移除最后一个字符
  7. ABAP的子程序参数注意点
  8. html5常用插件大全,前端常用插件utils汇总
  9. 解说linux下proc文件系统
  10. 在Windows环境下搭建Nginx文件服务器(简单实用版)
  11. k8s mysql 弹性_k8s 弹性伸缩,基于prometheus自定义指标
  12. 计算机统考模拟系统3.0,统考计算机模拟系统操作流程
  13. [链接汇总]在用Matlab解微分方程时比较有用
  14. 爆笑宜昌方言版《大学自习室》说唱
  15. 每天一段,成功拿到你心仪的offer
  16. 推荐一个GitHub上牛b的Java学习项目已整理成了文档版本
  17. 泛型及其使用、Stream的方法(Java小白进阶day17)
  18. 中忻嘉业:因抖音ccr指标异常的惩罚
  19. Google官方控件ShapeableImageView使用
  20. 短视频挺进在线音乐腹地

热门文章

  1. 从仪表到能源统计到智慧能源系统建设
  2. 基于Verilog HDL 和FPGA的寻线小车设计代码
  3. panda 读取excel 起始 1899-12-30
  4. 四国军棋界面开发(6)复盘功能及其他修改
  5. Burp_Suite_Pro_v1.7.37 破解版下载
  6. unity精美汽车模型
  7. 与一个Coder交谈过程。。
  8. spring boot 集成 人脸识别 arcsoft
  9. python弹钢琴_flash钢琴自动弹奏之Python实现 | 学步园
  10. pt 2021创意 3D贴图绘画和投影工具Substance 3D Painter