| 角色 | IP | 版本 |
|---|---|---|
| Master | 192.168.1.22 | CentOS 5.2 / MySQL 5.1.35 |
| Slave | 192.168.1.33 | CentOS 5.2 / MySQL 5.1.35 |
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.1.22' IDENTIFIED BY 'repl';[mysqld]
server-id=1
log-bin=mysql-bin
註:移除預設的 server-id=1 重複行FLUSH TABLES WITH READ LOCK;SHOW MASTER STATUS;File(如 mysql-bin.0000010)與 Position(如 106)。mysqldump test > test.sqlUNLOCK TABLES;[mysqld]
server-id=2CHANGE MASTER TO
MASTER_HOST='192.168.1.22',
MASTER_USER='repl',
MASTER_PASSWORD='repl',
MASTER_LOG_FILE='mysql-bin.0000010',
MASTER_LOG_POS=106;START SLAVE;SHOW SLAVE STATUS\GSlave_IO_Running: Yes、Slave_SQL_Running: Yes、Seconds_Behind_Master: 0錯誤:The slave I/O thread stops because master and slave have equal MySQL Server ids
解決:修改 Slave my.cnf 的 server-id 為唯一值,重啟 MySQL。
FLUSH TABLES WITH READ LOCK; → SHOW MASTER STATUS; 記下新位置SELECT MASTER_POS_WAIT('mysql-bin.0000011', 260); 等待同步完成UNLOCK TABLES;STOP SLAVE IO_THREAD; 確認 Has read all relay logSTOP SLAVE; RESET MASTER;master.info、relay-log.info,重啟即為新 Masterbinlog-do-db、binlog-ignore-dbreplicate-do-db、replicate-ignore-db、master-connect-retry=60