- 論壇徽章:
- 0
|
兩臺數據庫服務器(192.168.1.50、51),目前應用均在50機器上,51只是備份機器,考慮到復制已經出現(xiàn)多處數據不一致,并且51機器只作備份機器,因此對51的數據采取重建策略,由50機器上的數據導出并導入到51,執(zhí)行如下這些步驟:
-- 1. 在 50 DB 執(zhí)行:
flush logs;
stop slave;
show master logs;
show slave status \G
mysqldump -uroot -p --single-transaction --all-databases --force -R > /home/kay.zhang/all50.sql
scp /home/kay.zhang/all50.sql 192.168.1.51:/home/kay.zhang/
-- 2. 在 51 DB 執(zhí)行:
flush logs;
stop slave;
show master logs;
show slave status \G
tee /home/kay.zhang/all50in51.log;
source /home/kay.zhang/all50.sql;
notee;
flush logs;
stop slave;
show master logs;
show slave status \G
# 使用 50 機器開始備份時flush logs 所產生的那個日志文件
change master to master_log_file='mysql-bin.000167', master_log_pos=4;
# 由于 50 機器在導出過程中仍然會產生記錄,所以從'mysql-bin.000167'開始復制之后,會出現(xiàn)某些數據重復的錯誤,
# 直接忽略這些錯誤并再啟動slave即可,重復執(zhí)行以下語句直到不再有錯誤
stop slave;
SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;
start slave;
show slave status \G
-- 3. 在 51 DB 上執(zhí)行:
# 將50 上的復制起點定在數據成功導入之后再次 flush logs 所產生的新文件
stop slave;
change master to master_log_file='mysql-bin.000123', master_log_pos=4;
start slave;
show slave status \G
本文來自ChinaUnix博客,如果查看原文請點:http://blog.chinaunix.net/u2/64007/showart_2167569.html |
|