django早上运行提示MySQL server has gone away

问题现象

django搭建的服务器,早上过来使用报错误MySQL server has gone away
在这里插入图片描述

解决方法

配置settings.py中的数据库参数,‘CONN_MAX_AGE’: 21600,
‘ATOMIC_REQUESTS’: True
在这里插入图片描述

原因解析

出现问题的原因是:MySQL服务端主动关闭了前一天创建的链接,而django中的进程还在使用旧的链接去连数据库,所以报错“MySQL server has gone away”

详细的参数:
MySQL数据库默认的链接等待超时时间(wait_timeout)是8小时(86060=28800s),django原先的默认启动参数中,设置的CONN_MAX_AGE(CONN_MAX_AGE来控制每个连接的最大存活时间)是None,也就是永不过期,这样就造成每天早上过来,数据库关闭链接,django还保留。解决的方法就是把CONN_MAX_AGE设置成小于wait_timeout的时间即可。

在这里插入图片描述

参考博文

https://www.cnblogs.com/aaron-agu/p/10380559.html
https://blog.csdn.net/swatyb/article/details/83552606

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值