MySQL 3.23.15+ 版本提供原生數據庫復制功能,支持主從模式與雙主互備模式。配置集中在 my.cnf/my.ini 中,Windows 環境下服務啟動讀取 my.ini。
[mysqld]
server-id=1
log-bin
# log-bin=c:/mysqlbak/mysqllog # 指定日志目錄與前綴
binlog-do-db=backup # 僅記錄 backup 庫變更
重啟服務後執行 SHOW MASTER STATUS 確認日志狀態。
[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
重啟服務,執行 START SLAVE 並用 SHOW SLAVE STATUS 驗證同步狀態。
關鍵提示:從庫首次啟動會在數據目錄生成
master.info。若需修改從庫配置,必須先刪除該文件,否則新配置不生效。
在主從基礎上雙向添加對端的 slave/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/mysqllog
binlog-do-db=backup
重啟雙機即可實現雙向熱備。同步報錯時查閱 *.err 日志,修正後執行 SLAVE START 恢復同步線程。
向 B 批量插入 187 萬條數據,A 庫每秒同步約 2500 條。
| 方案 | 優點 | 缺點 |
|---|---|---|
| 數據庫目錄同步 | 配置簡單 | 僅支持單向,適合備份 |
| 專用同步軟件 | 直觀易用、功能豐富 | 單向同步,如 SQLBalance、MyReplicator |
| 應用層雙寫 | 數據強一致 | 改造成本高、效率低、維護難 |