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

MySQL「Forcing close of thread」錯誤兩種解決方案:配置優化與服務自動重啟

     編輯:MySQL 資料庫相關知識

錯誤日誌出現 Forcing close of thread 通常因資源爭用、DNS 反解析延遲或連線洩漏導致執行緒被強制關閉。提供兩種對策:

方案一:my.cnf/my.ini 優化配置

[mysqld]
# 關閉外部鎖定(新版參數名)
skip-external-locking
# 關閉 DNS 主機名反解析,避免連線建立卡頓
skip-name-resolve
# 適當增大連線緩衝
max_connections = 1000
thread_cache_size = 100
# 降低閒置超時
wait_timeout = 60
interactive_timeout = 60

注意: MySQL 5.5+ 已廢棄 skip-locking,改用 skip-external-locking;若仍用舊參數會噴 Warning。

方案二:Windows 服務恢復選項設定自動重啟

  1. Win+R → services.msc 開啟服務管理員。
  2. 找到 MySQL 服務 → 右鍵「內容」→ 復原 索引標籤。
  3. 第一次失敗:選「重新啟動服務」,延遲 0 分鐘(立即重啟)。
  4. 第二次/後續失敗:同設「重新啟動服務」。
  5. 「重設失敗計數」建議 1440 分鐘(24 小時)。
  6. 確定套用。

副作用: 設定後若需手動停止服務,工作管理員無法結束 mysqld 進程;需先將復原選項改回「不採取動作」再操作。

根因排查建議

  • 檢查應用是否正確釋放連線(連線池 validationQuery、testOnBorrow)。
  • 開啟 general_log 或 slow_query_log 觀察故障前 SQL 模式。
  • 監控 Threads_connected、Threads_running、Aborted_connects 狀態變數。
  • 若為 DNS 問題,確認 /etc/hosts 有 127.0.0.1 localhost,且防火牆允許 3306 通訊。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved