GRANT FILE ON *.* TO 'backup'@'10.10.10.53' IDENTIFIED BY '1234'; (在 A 上)GRANT FILE ON *.* TO 'backup'@'10.10.10.22' IDENTIFIED BY '1234'; (在 B 上)CREATE DATABASE backup;my.ini [mysqld]server-id=1
log-bin
# log-bin=c:/mysqlbak/mysqllog # 可指定路徑與前綴
binlog-do-db=backup
重啟服務,執行 SHOW MASTER STATUS; 確認 Binlog 狀態。
my.ini [mysqld]server-id=2
master-host=10.10.10.22
master-user=backup
master-password=1234
master-port=3306
master-connect-retry=60
replicate-do-db=backup
重啟服務,執行 SHOW SLAVE STATUS; 確認 Slave_IO_Running=Yes、Slave_SQL_Running=Yes。
master.info,**後續修改主從參數必須先刪除此檔** 再重啟,否則新設定不生效。在單向主從基礎上,雙方各自增加對方的 Master 設定:
master-host=10.10.10.53
master-user=backup
master-password=1234
replicate-do-db=backup
master-connect-retry=10
log-bin=c:/mysqllog/mysqlbinlog
binlog-do-db=backup
重啟雙方,執行 SLAVE START; 啟動雙向同步。若發生錯誤(*.err 日誌記錄),修正後執行 SLAVE START; 恢復。
向 B 批量插入 187 萬筆測試資料,A 端每秒約同步 2,500 筆,網路與磁碟 I/O 為主要瓶頸。
GTID 複製,自動定位位點,故障切換更簡單。sync_binlog=1、innodb_flush_log_at_trx_commit=1 確保零資料遺失。Seconds_Behind_Master、Slave_IO_Running、Slave_SQL_Running 關鍵指標。