MySQL Too many connections 的定位与修复
应用报 ERROR 1040 (HY000): Too many connections,新连接被拒绝。已有连接可能仍能工作,但业务开始大量失败。
SHOW STATUS LIKE 'Threads_connected';
SHOW STATUS LIKE 'Threads_running';
SHOW VARIABLES LIKE 'max_connections';
SHOW PROCESSLIST;
SELECT user, host, command, count(*) FROM information_schema.processlist
GROUP BY user, host, command ORDER BY count(*) DESC;
mysqladmin -u root -p status
max_connections 太低,或系统文件描述符限制。Sleep 连接没有回收。Threads_running 和 Processlist,区分“连接多”与“查询慢”。max_connections,同时提高系统 open_files_limit。Sleep 连接,确认不是业务需要的长连接。mysql / mysqladmin — 连接与状态ss — 连接数mysql-slow-query — 慢查询排查