主庫 寫入 → Binlog → 從庫 IO Thread 讀取 → Relay Log → SQL Thread 重放。可實現即時備份、讀寫分離。
server-id 必須不同。log-bin、binlog_format=ROW|MIXED。GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.0.232' IDENTIFIED BY 'oracle';
SHOW MASTER STATUS\G
-- 記下 File (如 mysql-bin.000005) 與 Position (如 251651)
CHANGE MASTER TO
MASTER_HOST='192.168.0.232',
MASTER_USER='repl',
MASTER_PASSWORD='oracle',
MASTER_LOG_FILE='mysql-bin.000005',
MASTER_LOG_POS=251651;
START SLAVE;
SHOW SLAVE STATUS\G
-- 關鍵指標:
-- Slave_IO_Running: Yes
-- Slave_SQL_Running: Yes
-- Seconds_Behind_Master: 0
若 Slave_IO_Running: No 或 Slave_SQL_Running: No:
STOP SLAVE;
SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;
START SLAVE;
(跳過 1 筆錯誤事件,謹慎使用,優先排查根因。)
CHANGE MASTER TO MASTER_HOST='...', MASTER_USER='...', MASTER_PASSWORD='...', MASTER_AUTO_POSITION=1;
無需手動指定 Log File/Position,自動對齊。