首页/系统/信创系统运维速查/数据库连接数过多的处理
常见问题65 条

数据库连接数过多的处理

报 Too many connections:看当前并发与上限、找占用来源(连接池、慢查询积压、异常重连),完止血再决定扩容或治理。

信创系统运维速查系统更新于 2026-10-12

查看现状

查看现状
mysql -uroot -p -e "SHOW VARIABLES LIKE 'max_connections'"
mysql -uroot -p -e "SHOW STATUS LIKE 'Threads_connected'"
mysql -uroot -p -e 'SHOW PROCESSLIST' | head -30

止血与治理

止血与治理
mysql -uroot -p -e 'SET GLOBAL max_connections = 500'   # 动态调整,重启前有效
# 治理方向:应用连接池上限与超时、慢查询与长事务、异常重连抑制
# 观察 Sleep 连接占比,判断是否为泄漏式占用
大幅调高上限会推高内存占用(连接内存×并发):完定位来源,再评估扩容还是治理。

易错点

  • 连接池上限之和超过数据库上限会打满:两侧要一起规划
  • Processlist 里大量 Sleep:多为应用未及时释放连接

数据来源与参考

  • MySQL 官方文档(连接管理)
  • MySQL 官方文档(服务器状态变量)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌