Mysql数据库的压力
Posted 一个学者
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql数据库的压力相关的知识,希望对你有一定的参考价值。
问题描述
使用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_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/django/db/models/query.py", line 374, in get
num = 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_all
self._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_sql
raise 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;
- 1
该命令是将wait_timeout设置为30小时.
用这种方法,修改完立即生效. 如果重启mysql, 又恢复原来的28800秒.
永久生效
该方法修改完之后, 需要重启mysql才能生效.
编辑mysql配置文件my.cnf,添加或修改为下面这条命令.
(我的mysql配置文件路径: /etc/mysql/my.cnf )
wait_timeout = 108000
- 1
其他原因
还有一些其他原因, 简单描述一下
1: mysql服务关闭
2: 数据包 过大
解决方法: 修改 max_allowed_packet
的值, 方法同上.
mysql导入数据错误“ERROR 2006 (HY000): MySQL server has gone away”
mysql导入数据错误“ERROR 2006 (HY000): MySQL server has gone away”和mysql导入导出命令...
MySQL server has gone away 问题的解决方法
MySQL server has gone away 问题的解决方法 投稿:mdxy-dxy 字体:[增加 减小] 类型:转载 时间:2010-06-05 我要评论 MySQL ser...
从前端到后台,开发一个完整功能的小程序
MYSQL Error 2006:MySQL server has gone away的解决方案
MySQL server has gone away有几种情况。1、应用程序(比如PHP)长时间的执行批量的MYSQL语句。 最常见的就是采集或者新旧数据转化。 解决方案: 在my...
ERROR 2006 (HY000): MySQL server has gone away
1.版本 1)操作系统 cat /etc/issue Red Hat Enterprise Linux Server release 5.5 (Tikanga) Kernel on an ...
ERROR 2006 (HY000) at line xx: MySQL server has gone away
1.执行批量的MYSQL语句,例如备份恢复的时候,时间过长。 对应:修改my.cnf中的wait_timeout和interactive_timeout变量 在一些不便修改的情形下,如租用的空...
MySQL ERROR 2006 (HY000): MySQL server has gone away
1.版本1)操作系统 cat /etc/issueRed Hat Enterprise Linux Server release 5.5 (Tikanga)Kernel on an m cat...
pymysql.err.operationalerror: (2006, "MySQL server has gone away (ConnectionResetError(10054, ‘远程主机强
_mysql_exceptions.OperationalError: **(2002, "Can‘t connect to local MySQL server through socket ‘/v
在linux下安装django的时候,python manage.py syncdb 报错, Validating models... Unhandled exception in threa...
归档
热门文章
- Qt Creator下载和安装(详细教程)
阅读量:153312
- 主板插线接口大全图解
阅读量:49815
- visual studio 调试时提示 已加载“C:WindowsSysWOW64
tdll.dll”。无法查找或打开 PDB 文件。
阅读量:38802
- ubuntu搜狗输入法切换快捷键fcitx设置
阅读量:17229
- python使用requests时报错requests.exceptions.SSLError: HTTPSConnectionPool
阅读量:16544
最新评论
- mysql数据库的备份和恢复
ldb987:感谢博主分享。
- CSDN博客多少积分可以有排名
quantum7:13万次点击进入前2万,吾现在只望进入前3万了。
- CSDN博客多少积分可以有排名
win_turn:[reply]quantum7[/reply] 被csdn删了几个文章后,心凉了
- CSDN博客多少积分可以有排名
quantum7:等级:5 访问: 57万+ 积分: 4358 排名: 9037 吾现在排名37533。可见大多数程...
- WinRAR 5.5 破解方法 -...
u010250739:为什么找不到80:2052,最大才16....
以上是关于Mysql数据库的压力的主要内容,如果未能解决你的问题,请参考以下文章