mysql 故障解决 3

  • ERROR 1040 (HY000): Too many connections
  • 所有新请求立即失败,现有连接可能正常
  • 监控显示 Threads_connected = max_connections
  • 应用连接池配置过大或存在连接泄露
  • max_connections 设置偏低
  • 慢查询堆积导致连接长时间占用
  • 未关闭的事务持续占用连接
  1. 紧急:使用 root 的预留连接登录(max_connections+1 的超级用户通道)
    mysql -uroot -p --connect-timeout=5
  2. 查看当前连接状态
    SHOW STATUS LIKE 'Threads_connected'; SHOW PROCESSLIST; -- 或更详细 SELECT user, host, command, time, state, info FROM information_schema.PROCESSLIST ORDER BY time DESC LIMIT 50;
  3. Kill 空闲/长时间运行的连接
    -- 批量生成 kill 语句 SELECT CONCAT('KILL ', id, ';') FROM information_schema.PROCESSLIST WHERE command = 'Sleep' AND time > 300;
  4. 在线调大 max_connections(需确认内存)
    SET GLOBAL max_connections = 2000;
  5. 根治:配置应用连接池最大连接数,修复连接泄露,增加连接有效性检测
上一篇 Ubuntu 26.04 LTS fcitx5 提示框乱飘 wps无法切换中文输入法
下一篇 什么是WiFi 6(802.11ax)?