本文整理自 OldBoy 教育 MySQL DBA 實戰課程第 14 課內容,涵蓋 MySQL 複制架構、主從同步原理、GTID 複制、半同步複制、複制故障排查與高可用架構設計等核心主題。
MASTER_AUTO_POSITION=1 運作原理。rpl_semi_sync_master / rpl_semi_sync_slave 設置、超時降級機制、資料零損失保障。Seconds_Behind_Master 指標局限、pt-heartbeat 精準監控、平行複制 (slave_parallel_workers) 加速。SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1 慎用原則。[mysqld] server-id=1 log-bin=mysql-bin binlog-format=ROW gtid-mode=ON enforce-gtid-consistency=ON log-slave-updates=1 rpl_semi_sync_master=ON rpl_semi_sync_master_timeout=1000
[mysqld] server-id=2 relay-log=relay-bin read-only=1 gtid-mode=ON enforce-gtid-consistency=ON rpl_semi_sync_slave=ON slave_parallel_workers=4 slave_parallel_type=LOGICAL_CLOCK
# 建立複制帳號 GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%' IDENTIFIED BY 'repl_pass'; # 從庫啟動複制 (GTID 模式) CHANGE MASTER TO MASTER_HOST='10.0.0.1', MASTER_USER='repl', MASTER_PASSWORD='repl_pass', MASTER_AUTO_POSITION=1; START SLAVE; # 檢查狀態 SHOW SLAVE STATUS\G # 關鍵欄位: Slave_IO_Running=Yes, Slave_SQL_Running=Yes, Seconds_Behind_Master=0
Last_Error、Last_IO_ErrorSKIP COUNTER 或需重建從庫FLUSH TABLES WITH READ LOCK → 備份 → 解鎖 → 從庫還原 → 重新 CHANGE MASTERsysbench 壓測觀察平行複制加速效果。
來源:為知筆記 (Wiz) 整理。建議搭配官方文件 MySQL Replication 深入研讀。