Aurora RDS MySQL 8.0未清理超出wait_timeout的空闲连接问题咨询
Aurora/RDS MySQL 8.0(引擎版本3)空闲进程未按超时配置清理问题
问题现象
- 将Aurora/RDS MySQL从5.6升级至8.0后,空闲时长超过设定的250秒
wait_timeout和250秒interactive_timeout的休眠进程未被自动清理 - 排除参数配置错误:即使使用默认的28800秒(8小时)超时值,超出时长的空闲进程依然存在
- 该问题仅出现在8.0版本(Aurora引擎版本3),5.6版本中自动清理逻辑运行正常
官方结论
AWS Aurora团队已确认此为Aurora引擎版本3的已知问题,官方修复补丁尚需一段时间才能发布
临时解决方案
通过定时任务手动清理超出超时阈值的空闲进程,示例SQL命令如下:
-- 清理空闲时长超过250秒的非系统进程 SELECT CONCAT('KILL CONNECTION ', id, ';') AS kill_command FROM information_schema.processlist WHERE command = 'Sleep' AND time > 250 AND user NOT IN ('rdsadmin', 'system user');
说明:执行上述语句生成清理命令后,需验证目标进程无业务影响,再执行生成的KILL语句
内容的提问来源于stack exchange,提问作者DiscipleMichael
相关产品推荐
相关产品推荐

