小生博客:http://xsboke.blog.51cto.com
創(chuàng)新互聯(lián)建站是一家專注于成都網(wǎng)站建設(shè)、做網(wǎng)站與策劃設(shè)計(jì),南開網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)建站做網(wǎng)站,專注于網(wǎng)站建設(shè)十載,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:南開等地區(qū)。南開做網(wǎng)站價(jià)格咨詢:18982081108
-------謝謝您的參考,如有疑問,歡迎交流
環(huán)境說明:
MySQL主從復(fù)制,主庫A宕機(jī),將從庫B提升為了主庫(假設(shè)你這時(shí)候才開啟了從庫的binlog日志)
現(xiàn)在要新搞一個(gè)數(shù)據(jù)庫C用來替代舊的主庫A,那么C庫的數(shù)據(jù)肯定要以B庫為主,
所以我們使用B庫的備份來恢復(fù)數(shù)據(jù)
將B作為主,C庫作為從,
你需要將C庫恢復(fù)到B庫提升為主庫時(shí)的數(shù)據(jù),才可以將C庫作為新的從庫使用(才可以change master)
以A庫的binlog日志為主,介紹當(dāng)前的備份狀態(tài):
mysql-bin.00100
mysql-bin.00101 在mysql-bin.00101的時(shí)候從庫做了備份并且保有slave status信息
mysql-bin.00102
mysql-bin.00103
mysql-bin.00104 主庫是在mysql-bin.00104的時(shí)候宕機(jī)的
mysql-bin.00105
所以我打算這樣做:
1. 用從庫的全備恢復(fù)數(shù)據(jù),
2. 然后用主庫的binlog恢復(fù)后來的數(shù)據(jù),
3. 再使用從庫的中繼日志恢復(fù)主庫缺少的數(shù)據(jù).
在這過程中我發(fā)現(xiàn)了問題(關(guān)于[3.]的解釋):
主庫宕機(jī)時(shí),我發(fā)現(xiàn)有幾條數(shù)據(jù)主庫的binlog日志沒有,但是從庫的中繼日志中卻有,
所以我從中繼日志中把主庫沒有但是從庫有的sql復(fù)制了出來,
然后放到了文件名為addsql.sql中
我在mysql-bin.00101時(shí)的全備,備份時(shí)從庫的slave status是這樣的:
Master_Log_File: mysql-bin.00101
Read_Master_Log_Pos: 888301479
Relay_Log_File: relay-bin.000002
Relay_Log_Pos: 31921757
Relay_Master_Log_File: mysql-bin.00100 # 從庫SQL線程已經(jīng)執(zhí)行到的binlog日志
Slave_IO_Running: No
Slave_SQL_Running: No
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 31921467 # 從庫SQL線程已經(jīng)執(zhí)行到的binlog日志的position
Relay_Log_Space: 1962055058
注意:如果要使C庫數(shù)據(jù)和B庫一樣,那么要以Relay_Master_Log_File和Exec_Master_Log_Pos這兩個(gè)參數(shù)為準(zhǔn)恢復(fù)數(shù)據(jù)
我的操作流程是這樣的:
1. 首先在C庫上導(dǎo)入,在mysql-bin.00101的時(shí)候從庫的備份,
2. 根據(jù)從庫做全備時(shí)保留的slave status,將mysql-bin.00100中還沒有同步的數(shù)據(jù)導(dǎo)出為sql,(mysqlbinlog --start-position=31921467 /mysql-bin.00100 > ./100.sql).
3. 然后陸續(xù)將mysql-bin.00101之后和主庫宕機(jī)時(shí)mysql-bin.00104的binlog日志轉(zhuǎn)為sql.
4. 將這些sql導(dǎo)入.
5. 將addsql.sql導(dǎo)入.
6. B庫授權(quán)replication slave,然后C庫change master 到B庫即可
新聞標(biāo)題:MySQL恢復(fù):使用從庫備份,主庫binlog,從庫中繼日志恢復(fù)數(shù)據(jù)庫
文章鏈接:http://www.rwnh.cn/article4/ghceie.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、網(wǎng)站設(shè)計(jì)、靜態(tài)網(wǎng)站、面包屑導(dǎo)航、網(wǎng)站內(nèi)鏈、Google
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)