中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL恢復:使用從庫備份,主庫binlog,從庫中繼日志恢復數據庫

發布時間:2020-08-01 03:30:24 來源:網絡 閱讀:1606 作者:小生博客 欄目:MySQL數據庫

小生博客:http://xsboke.blog.51cto.com

                -------謝謝您的參考,如有疑問,歡迎交流

環境說明:

    mysql主從復制,主庫A宕機,將從庫B提升為了主庫(假設你這時候才開啟了從庫的binlog日志)
    現在要新搞一個數據庫C用來替代舊的主庫A,那么C庫的數據肯定要以B庫為主,
    所以我們使用B庫的備份來恢復數據

    將B作為主,C庫作為從,
    你需要將C庫恢復到B庫提升為主庫時的數據,才可以將C庫作為新的從庫使用(才可以change master)

以A庫的binlog日志為主,介紹當前的備份狀態:

    mysql-bin.00100
    mysql-bin.00101         在mysql-bin.00101的時候從庫做了備份并且保有slave status信息
    mysql-bin.00102
    mysql-bin.00103
    mysql-bin.00104         主庫是在mysql-bin.00104的時候宕機的
    mysql-bin.00105

所以我打算這樣做:

1. 用從庫的全備恢復數據,
2. 然后用主庫的binlog恢復后來的數據,
3. 再使用從庫的中繼日志恢復主庫缺少的數據.
在這過程中我發現了問題(關于[3.]的解釋):
    主庫宕機時,我發現有幾條數據主庫的binlog日志沒有,但是從庫的中繼日志中卻有,
    所以我從中繼日志中把主庫沒有但是從庫有的sql復制了出來,
    然后放到了文件名為addsql.sql中

我在mysql-bin.00101時的全備,備份時從庫的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線程已經執行到的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線程已經執行到的binlog日志的position
                Relay_Log_Space: 1962055058

注意:如果要使C庫數據和B庫一樣,那么要以Relay_Master_Log_File和Exec_Master_Log_Pos這兩個參數為準恢復數據

我的操作流程是這樣的:

    1. 首先在C庫上導入,在mysql-bin.00101的時候從庫的備份,
    2. 根據從庫做全備時保留的slave status,將mysql-bin.00100中還沒有同步的數據導出為sql,(mysqlbinlog --start-position=31921467 /mysql-bin.00100 > ./100.sql).
    3. 然后陸續將mysql-bin.00101之后和主庫宕機時mysql-bin.00104的binlog日志轉為sql.
    4. 將這些sql導入.
    5. 將addsql.sql導入.
    6. B庫授權replication slave,然后C庫change master 到B庫即可
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

体育| 寿宁县| 宁波市| 广水市| 博白县| 渑池县| 昆山市| 板桥市| 北海市| 枞阳县| 共和县| 惠来县| 襄汾县| 怀远县| 华蓥市| 赫章县| 萝北县| 临清市| 松潘县| 平利县| 鲜城| 望都县| 宿州市| 广水市| 定安县| 义乌市| 乌海市| 永吉县| 隆尧县| 太原市| 巴彦淖尔市| 突泉县| 得荣县| 福泉市| 平度市| 余姚市| 乐业县| 克东县| 揭东县| 左贡县| 木兰县|