MySQL 报 Too many connections 连接数打满
定界思路
连接打满分两种:业务量真实激增,或连接未释放导致泄漏。盲目调大 max_connections 会耗尽内存,先定位是"用得多"还是"没归还"。
解决步骤
- SHOW PROCESSLIST 与会话状态查看当前连接与来源;
- 按来源、用户、Command 分组统计,识别堆积点;
- 检查应用是否使用连接池、有无未关闭的连接;
- 应急可临时调大 max_connections,同时下调 wait_timeout 释放空闲连接;
- 根因修复连接泄漏后,再把参数回调到合理值。
复盘 / 避坑
连接数打满是"症状"不是"病因"。先分清泄漏还是真高峰,否则调大只是把雪崩推迟。