首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

Windows 下重啟 MySQL 服務的三種方式與 Too many connections 處理

     編輯:MySQL 資料庫相關知識

Windows 環境下 MySQL 服務重啟、常見「Too many connections」錯誤排查與配置優化完整指南。

一、重啟 MySQL 服務三種方式

1. 服務管理工具(圖形介面)

「我的電腦」右鍵 → 管理 → 服務與應用程式 → 服務 → MySQL → 右鍵「重新啟動」

2. 命令列(需管理員權限)

net stop mysql
net start mysql

可存為 mysql_restart.bat 一鍵執行:

@echo off
net stop mysql
net start mysql
echo MySQL 服務已重啟
pause

3. Linux 系統(對照參考)

service mysqld restart
# 或
systemctl restart mysqld

二、錯誤 1040:Too many connections

現象

ERROR 1040 (HY000): Too many connections

原因分析

  • 連線數超過 max_connections 設定值(預設 151)。
  • 長連線未釋放、連線池洩漏、慢查詢堆積導致佔用連線過久。
  • wait_timeout 過大(預設 8 小時),閒置連線長時間不釋放。

解決方案

  1. 修改配置檔(my.ini Windows / my.cnf Linux):
[mysqld]
max_connections = 1000
wait_timeout = 60
interactive_timeout = 60
  1. 重啟 MySQL 使生效。
  2. 應用層優化:
    • 使用連線池並設定合理大小、驗證查詢(validationQuery)。
    • 確保程式碼所有路徑(含例外)皆正確關閉連線(try-with-resources/using/finally)。
    • 啟用慢查詢日誌,優化長耗時 SQL。

三、臨時緊急釋放連線

-- 查看當前連線
SHOW PROCESSLIST;
-- 殺掉閒置/異常連線
KILL connection_id;

或重啟 MySQL 服務(會中斷所有連線,謹慎操作)。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved