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