一週前某 MySQL 伺服器硬體故障停機,今日修復開機後,上面 4 個 MySQL 實例自動啟動並瘋狂拉取主庫 Binlog。因停機時間長、日誌差異大(每實例日增 ~6GB,4 實例一週約 160GB+),導致主庫網路頻寬被佔滿,業務感知延遲明顯,持續 17 分鐘。
SHOW PROCESSLIST、全量日誌、慢查詢日誌均無異常PROCESSLIST 發現 replication user 狀態為 Waiting for net,IP 確認為週前故障的 Slavechkconfig mysqld off 或 systemctl disable mysqld,開機後人工啟動並手動 STOP SLAVE,確認無誤後再 START SLAVE。若實例較多,人工啟動確實繁瑣,可開發自動化腳本:開機後檢測主從延遲、Binlog 差異大小,若超過閾值則延遲啟動或限速同步(slave_max_allowed_packet、網路限速 tc/qdisc),人工確認後再全速同步。