原文內容極少,僅有標題。此處補充 MySQL 主從複製初始化的標準流程與關鍵點,作為後續不同步排查的基線。
[mysqld] server-id=1 # 唯一整數 log-bin=mysql-bin # 啟用二進制日志 binlog-format=ROW # 推薦 ROW 格式 gtid-mode=ON # 啟用 GTID (5.6+) enforce-gtid-consistency=ON sync_binlog=1 # 事務提交即刷盤,最安全 innodb_flush_log_at_trx_commit=1
CREATE USER 'repl'@'%' IDENTIFIED BY 'strong_password'; GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%'; FLUSH PRIVILEGES;
[mysqld] server-id=2 # 與主庫不同 relay-log=relay-bin log-slave-updates=ON # 級聯從庫必開 read-only=ON # 防止誤寫入 gtid-mode=ON enforce-gtid-consistency=ON
FLUSH TABLES WITH READ LOCK; SHOW MASTER STATUS; -- 記錄 File (如 mysql-bin.000001) 和 Position (如 154) UNLOCK TABLES;
CHANGE MASTER TO MASTER_HOST='master_ip', MASTER_USER='repl', MASTER_PASSWORD='strong_password', MASTER_AUTO_POSITION=1; -- GTID 模式自動定位,無需文件/位置 START SLAVE;
SHOW SLAVE STATUS\G -- 關鍵指標: -- Slave_IO_Running: Yes -- Slave_SQL_Running: Yes -- Seconds_Behind_Master: 0 -- Last_IO_Error / Last_SQL_Error: 空
mysqldump --master-data=2 --single-transaction 導出並導入從庫,或用 xtrabackup 物理備份恢復。SET GTID_NEXT 手動跳過易導致數據偏移,謹慎使用。建立監控告警:Seconds_Behind_Master > 阈值、Slave_IO_Running != Yes、Slave_SQL_Running != Yes 立即通知。定期校驗主從數據一致性 (如 pt-table-checksum)。