首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL "Too many connections" 錯誤秒級解決:max_connections 調整與監控

     編輯:MySQL 綜合教學

錯誤現象

ERROR 1040 (00000): Too many connections

快速定位

mysql> SHOW VARIABLES LIKE 'max_connections';
mysql> SHOW STATUS LIKE 'Max_used_connections';  -- 歷史峰值
mysql> SHOW STATUS LIKE 'Threads_connected';     -- 當前連線數

解決方案

Windows (my.ini)

[mysqld]
max_connections = 1000
max_user_connections = 300   # 單用戶上限,防單庫佔死

修改後**重啟 MySQL 服務**生效。

Linux (/etc/my.cnf)

[mysqld]
max_connections = 1000
max_user_connections = 300

重啟:systemctl restart mysqld。

臨時調整(無重啟,重啟失效)

mysql> SET GLOBAL max_connections = 1000;

無服務器權限怎麼辦?

  • 虛擬主機/雲數據庫:提交工單聯繫服務商調整。
  • 應用層自查:連線池洩漏、未釋放連線、長事務阻塞。

預防與監控

  1. 設置告警:Threads_connected / max_connections > 80% 觸發預警。
  2. 連線池配置:maxPoolSize < max_connections * 0.7(預留運維/備份連線)。
  3. 定期審計 SHOW PROCESSLIST 發現 Sleep 過多連線優化代碼。
  4. 啟用 performance_schema 監控連線創建/銷毀趨勢。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved