故障现象
报错 ERROR 2013: Lost connection to MySQL server during query
长事务/大查询中途断开
应用连接池频繁重连
常见根因
wait_timeout/interactive_timeout设置过短- 大数据包超过
max_allowed_packet限制 - 网络链路不稳定或 NAT 超时
- 服务端 OOM 导致连接被强制关闭
解决步骤
- 查看当前超时参数
SHOW VARIABLES LIKE '%timeout%'; SHOW VARIABLES LIKE 'max_allowed_packet';
- 在线调整(重启后失效,需写入 my.cnf 固化)
SET GLOBAL wait_timeout = 28800; SET GLOBAL interactive_timeout = 28800; SET GLOBAL max_allowed_packet = 64*1024*1024; -- 64MB
- 写入 my.cnf 永久生效
[mysqld] wait_timeout = 28800 interactive_timeout = 28800 max_allowed_packet = 64M