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

微軟補丁 KB967723 導致 MySQL 頻繁斷連:兩大解決方案詳解

     編輯:MySQL 資料庫相關知識

故障現象

Windows 伺服器上 MySQL 服務頻繁出現「Can not connect to MySQL server」,重整頁面即恢復正常,無攻擊流量異常。

根因

微軟補丁 KB967723 修改了 TCP/IP 協定棧行為,導致 MySQL 在高併發短連線下耗盡暫時埠(預設上限 5000),新連線無可用埠而失敗。

方案一:卸載補丁(快速止血)

  1. 控制台 → 新增/移除程式 → 勾選「顯示更新」。
  2. 找到 KB967723 → 移除 → 確認警告視窗選「是」。
  3. 重啟伺服器(或至少重啟 MySQL 服務)。

風險:可能影響其他依賴該補丁修復的系統功能。

方案二:修改登錄擴大暫時埠範圍(微軟官方建議,推薦)

  1. Win+R → regedit
  2. 定位:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
  3. 右鍵新建 → DWORD (32 位元) 值 → 名稱:MaxUserPort
  4. 數值資料:65534(十進位),有效範圍 5000–65534。
  5. 重啟電腦生效。

原理: 將系統可分配的暫時客戶埠上限從 5000 提升至 65534,大幅降低埠耗盡機率。

進階優化(可選):縮短 TIME_WAIT 狀態

同路徑下新建 DWORD TcpTimedWaitDelay,值設 30–60(秒),預設 240 秒。加速埠回收,配合 MaxUserPort 效果更佳。

驗證與監控

  • 修改後觀察 MySQL 錯誤日誌,確認 Too many connections / Can't connect 錯誤消失。
  • 長期建議:啟用連線池、使用持久連線、避免頻繁開關短連線。

總結

KB967723 觸發的 TCP 埠耗盡是 Windows 上 MySQL 高併發常見陷阱。修改登錄擴大 MaxUserPort 為標準解法,兼顧系統安全與資料庫穩定;卸載補丁僅作臨時應急。

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