從庫複寫中斷,SHOW SLAVE STATUS\G 顯示 Last_SQL_Error,需跳過有問題的事務恢復複寫。
-- 1. 確認主從狀態
SHOW MASTER STATUS;
SHOW SLAVE STATUS\G
-- 2. 停止 SQL 線程
STOP SLAVE;
-- 3. 跳過 1 個事務(可改為 N)
SET GLOBAL sql_slave_skip_counter = 1;
-- 4. 重啟複寫
START SLAVE;
| 適用 | 不適用/高風險 |
|---|---|
| 單一 DML 錯誤(鍵衝突、欄位缺失) | DDL 錯誤(結構不一致) |
| 非關鍵業務表、可接受資料不一致 | 核心業務表(訂單、帳戶、庫存) |
| 臨時繞過,後續人工補償 | 大量連續錯誤(需根因分析,非暴力跳過) |
# Percona Toolkit
pt-table-checksum --replicate=percona.checksums h=master,u=user,p=pass
pt-table-sync --replicate=percona.checksums --sync-to-master h=slave,u=user,p=pass
binlog_do_db/replicate_*)read_only=ON/super_read_only=ON)GTID_MODE=ON,複寫按事務 ID 定位,跳過更精準MASTER_AUTO_POSITION=1 自動尋找同步點slave_skip_errors(謹慎使用)或 slave_exec_mode=IDEMPOTENT(冪等模式)super_read_only=ON**,根除誤寫跳過錯誤是止痛藥,不是治本藥。必須在業務低峰完成一致性修復,並修正根因防止復發。