MySQL之MySQL server has gone away原因分析以及解决方案

MySQL server has gone away原因分析&解决方案

环境

Python: 3.8/3.9

MySQL: 5.x

情形一

Python sqlalchemy连接池配置中的连接回收时间 SQLALCHEMY_POOL_RECYCLE 大于MySQL配置中的 wait_timeout。

解决方案

  1. 修改MySQL配置中的 wait_timeout
  2. 修改Python数据库连接池中的连接回收时间,如SQLALCHEMY_POOL_RECYCLE

查看MySQL配置

sql 复制代码
show global variables like '%wait_timeout';

更改MySQL配置

注意:

  1. 单位是秒(s)
  2. 默认是28800(即8小时)
  3. 使用global方式更改全局变量,对于已创建的连接会话不生效(比如当前交互的会话)
sql 复制代码
set global wait_timeout=28800;

或者:修改MySQL配置,重启MySQL服务(在mysqld下添加/修改)

复制代码
[mysqld]
wait_timeout = 28800

情形二

数据库连接发送的包数据太大,超过了数据库 max_allowed_packet 配置

查看MySQL配置

sql 复制代码
show global variables like '%max_allowed_packet';

更改MySQL配置

注意:

  1. 单位是字节(Byte)
  2. 默认是4194304(即4MB)
sql 复制代码
# 调整为16MB
set global max_allowed_packet=16*1024*1024;

或者:修改MySQL配置,重启MySQL服务(在mysqld下添加/修改)

复制代码
[mysqld]
max_allowed_packet = 256M

|------------------------------------|
| 欢 迎 客 官 在 评 论 区 分 享 您 的 解 决 方 案 ~ |

相关推荐
风哥2号4 小时前
数据库教程FGMT27‑MySQL数据库基础知识与体系架构
数据库·mysql
qq5918406854 小时前
uiautomator2自动化安卓手机操作
python
80s7775 小时前
动态代理和静态代理的区别,动态代理怎么提高网络安全性
python
YangYang9YangYan5 小时前
2026 校招商品分析岗位 JD 拆解,核心指标、工具与面试考点
大数据·数据库·数据分析
西安栈上月明软件科技6 小时前
从业务黑话到本体图谱:OAG本体建模五步法(西安老系统AI化改造实战)
数据库·人工智能·架构
anxiao_m6 小时前
跨云跨机房大数据迁移怎么选?不同场景工具适配指南
数据库·云启快传
niucloud-admin6 小时前
JAVA V6 多商户商城 开发文档——job 计划任务开发
java·python·github
小叶肥辉6 小时前
LangChain链和LangGraph图的学习笔记【三】——分别用langchain_openai库和langchain_community库调用大模型
笔记·python·langchain
2401_873479407 小时前
IP属地为什么有时显示外省?用IP查询工具核查动态分配、运营商出口与GeoIP库
python·tcp/ip·ip
风哥2号8 小时前
数据库教程FGMT43‑MySQL性能分析与优化调整
数据库·mysql