本文以雙節點(Master 192.168.124.51 / Slave 192.168.124.52,均為 MySQL 5.1.48)為例,詳細記錄主從同步的配置步驟、驗證方法與常見故障排查。
/etc/my.cnf([mysqld] 區段)server-id=1
log-bin=log
binlog-do-db=database1
binlog-do-db=database2
binlog-ignore-db=mysql
GRANT REPLICATION SLAVE ON *.* TO 'AffairLog'@'192.168.124.52' IDENTIFIED BY 'password';
service mysql restart;
SHOW MASTER STATUS\G;
-- 記錄 File (如 log.000027) 與 Position (如 3151)
/etc/my.cnf([mysqld] 區段)server-id=2
master-host=192.168.124.51
master-user=AffairLog
master-password=password
master-port=3306
master-connect-retry=60
replicate-do-db=database1
replicate-do-db=database2
replicate-ignore-db=mysql
service mysql restart;
mysql> START SLAVE;
mysql> SHOW SLAVE STATUS\G;
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Seconds_Behind_Master: 0
SHOW MASTER STATUS\G 獲取最新 File、Position。STOP SLAVE;CHANGE MASTER TO
MASTER_HOST='192.168.124.51',
MASTER_USER='AffairLog',
MASTER_PASSWORD='password',
MASTER_LOG_FILE='log.000027',
MASTER_LOG_POS=3151;
START SLAVE;
STOP SLAVE;
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
START SLAVE;
再次 SHOW SLAVE STATUS\G 確認雙線程均為 Yes。