MySQL 连接数满了怎么办
Linux系统 2026-10-12 05:47 5

max_connections 打满,应用全线报错。同一件事有很多种做法,选哪种取决于你的系统版本和线上是否允许中断。

下面按“先判断范围、再处理、最后防复发”的顺序展开,涉及 连接数、too many connections 的关键动作都给了具体做法,可以照着走。

看现状

show status like 'Threads_connected'。

需要留痕的操作,把时间点和现象一起记下来,复盘时最有用。

临时提

set global max_connections 立即生效。

容易踩的坑:另一个坑是照抄别人的参数,环境不同,参数就该重新算。

找原因

show processlist 看是否有大量 Sleep 连接。

需要留痕的操作,把时间点和现象一起记下来,复盘时最有用。

根治

连接池复用、缩短 wait_timeout、查未关闭连接。

速查表

环节关键动作
看现状show status like 'Threads_connected'
临时提set global max_connections 立即生效
找原因show processlist 看是否有大量 Sleep 连接
根治连接池复用、缩短 wait_timeout、查未关闭连接

常见问题

Q:连接数这类问题,最快的判断办法是什么?
先确认现象的范围:只有单台还是全部、只在某个时段还是持续。范围一缩小,原因基本就浮出来了。

Q:按文中的步骤做完,还需要注意什么?
把处理过程和最终生效的参数记下来。同类问题再出现时直接对照记录,比重查一遍快得多。

小结

回到这篇的四个环节:看现状、临时提、找原因、根治。命令行操作贵在可复现:把有效的命令记进运维笔记,比记在脑子里靠谱。

相关阅读:MySQL 慢查询怎么定位、MySQL 安装与初始化要点、开启 HTTP/2 与效果评估。

Powered by ©智简魔方