MySQL 3.23.15+ 提供 Replication,可實現主從同步、雙向互備。配置集中於 my.cnf/my.ini 的 [mysqld] 區段。
| 角色 | IP | Server-ID | 同步帳號 |
|---|---|---|---|
| A (Master/Slave) | 10.10.10.22 | 1 | backup@10.10.10.53 |
| B (Slave/Master) | 10.10.10.53 | 2 | backup@10.10.10.22 |
同步資料庫:backup
GRANT FILE, REPLICATION SLAVE, REPLICATION CLIENT, SUPER ON *.* TO 'backup'@'對方IP' IDENTIFIED BY '1234';
CREATE DATABASE backup;[mysqld]
server-id=1
log-bin
binlog-do-db=backup
[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
重啟雙方服務,於 B 執行 START SLAVE,用 SHOW SLAVE STATUS 確認 Slave_IO_Running、Slave_SQL_Running 均為 Yes。
在雙向模式下,A 與 B 同時具備 Master 與 Slave 角色。
master-host=10.10.10.53
master-user=backup
master-password=1234
replicate-do-db=backup
master-connect-retry=10
log-bin=c:/mysqllog/mysql.log
binlog-do-db=backup
重啟雙方,分別執行 START SLAVE。若發生錯誤導致同步執行緒退出,修正後需 START SLAVE 重新啟動。
server-id 全域唯一,不可重複。master.info,否則新設定不生效。REPLICATION SLAVE、REPLICATION CLIENT、SUPER 權限。my.cnf 優先,執行 winmysqladmin.exe 會將其改名為 mycnf.bak 並在 winnt 建立 my.ini。my.ini 作為服務啟動配置。