復制為異步,Slave 無需持續連線;支持一主多從、鏈式復制(需開啟 log-slave-updates)。
| 角色 | IP | Port | OS | MySQL |
|---|---|---|---|---|
| Master | 192.168.1.100 | 3306 | Win7 | 5.5.20 |
| Slave | 192.168.1.102 | 3306 | Win8 | 5.5.20 |
[mysqld] log-bin="D:/MYSQLDataBase/binlog" expire_logs_days=10 max_binlog_size=100M server-id=1 binlog-do-db=test binlog-ignore-db=mysql
SHOW VARIABLES LIKE 'log_bin' 確認 ONGRANT REPLICATION SLAVE ON *.* TO 'repl'@'%' IDENTIFIED BY '123';SHOW MASTER STATUS; 記錄 File/Position# Master 導出 mysqldump -uroot -p -h127.0.0.1 test > D:\TEST.TXT # Slave 導入 mysql -uroot -p USE test; SOURCE D:\TEST.TXT;
[mysqld] server-id=2 # 不配置 log-bin,避免誤放 [mysql] 節點
STOP SLAVE; CHANGE MASTER TO MASTER_HOST='192.168.1.100', MASTER_USER='repl', MASTER_PASSWORD='123', MASTER_LOG_FILE='binlog.000005', MASTER_LOG_POS=107; START SLAVE; SHOW SLAVE STATUS\G;
關鍵指標:Slave_IO_Running: Yes、Slave_SQL_Running: Yes、Seconds_Behind_Master: 0。
log-slave-updates:鏈式復制必開master-connect-retry=60:重連間隔秒數read-only:限制普通用戶寫入從庫slave-skip-errors=1007,1051,1062:跳過指定錯誤(僅非核心從庫)SHOW PROCESSLIST\G; -- Slave_SQL_Running 線程 Time 欄位 = 延遲秒數
max_allowed_packet 過小:主從同步調大至 16M+auto_increment 衝突:設置 auto_increment_increment/offset 錯開STOP SLAVE IO_THREAD 待 Has read all relay logSTOP SLAVE; RESET MASTER; 升級為新 Masterserver-idCHANGE MASTER TO 指向新 Master,START SLAVE