MySQL 服務器的關閉並非瞬間發生,而是經過六個嚴謹階段,確保數據完整性與資源正確釋放。理解這一流程,有助於 DBA 排查關機異常、優化重啟策略。
關閉可由多種方式觸發:
SHUTDOWN 權限的用戶執行 mysqladmin shutdown(跨平台通用)。SIGTERM 訊號。根據觸發方式,服務器可能建立專屬執行緒處理關閉邏輯:
SIGTERM 訊號 → 訊號執行緒自行處理或另建執行緒。Error: Can't create thread to kill server。為防止新活動產生,服務器關閉所有監聽端點:TCP/IP 埠、Unix Socket 檔、Windows 命名管道、共享記憶體。
UPDATE/INSERT 可能導致部分更新。innodb_fast_shutdown=2),寫入當前 LSN,終止內部執行緒。所有資源釋放完畢,進程結束。