當資料量在 20GB 以內時,使用 mysqldump 全量導出對業務影響可控,採用「備份 → 傳輸 → 還原 → 建立複製」流程最為簡單高效。
--master-data=1:在導出文件中自動記錄 CHANGE MASTER TO 所需的 MASTER_LOG_FILE 與 MASTER_LOG_POS--flush-logs:導出前刷新二進制日誌,確保位置點準確--extended-insert=false:生成單行 INSERT,便於後續處理與除錯/usr/local/mysql/bin/mysqldump -uroot -p -S /usr/local/mysql/mysql.sock \
--default-character-set=utf8 \
--extended-insert=false --triggers -R --hex-blob \
--all-databases --master-data=1 --flush-logs \
> /tmp/create-master2-20140416.sql
scp create-master2-20140409.sql 10.xx.3.x2:/tmp/
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%' IDENTIFIED BY 'xx@xx';
/usr/local/mysql/bin/mysql -uroot -p -S /usr/local/mysql/mysql.sock \
--default-character-set=utf8 < /tmp/create-master2-20140416.sql
# 在備份文件頭部查找類似內容:
# -- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.008713', MASTER_LOG_POS=120;
CHANGE MASTER TO
MASTER_USER='repl',
MASTER_PASSWORD='Plcc0805@replicationm2',
MASTER_HOST='10.xx.3.x1',
MASTER_PORT=3306,
MASTER_LOG_FILE='mysql-bin.008713',
MASTER_LOG_POS=120;
START SLAVE;
SHOW SLAVE STATUS\G
關鍵檢查點: 確認 Slave_IO_Running 與 Slave_SQL_Running 均為 Yes,Seconds_Behind_Master 為 0。