<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

        Mysql實現(xiàn)增量恢復(fù)的方法詳解

        來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-09 20:25:25
        文檔

        Mysql實現(xiàn)增量恢復(fù)的方法詳解

        Mysql實現(xiàn)增量恢復(fù)的方法詳解:實驗介紹 增量恢復(fù)一般適用的場景: 1、人為的sql語句破壞了數(shù)據(jù)庫 2、在進(jìn)行下一次完全備份之前發(fā)生系統(tǒng)故障導(dǎo)致數(shù)據(jù)庫數(shù)據(jù)丟失 3、在主從架構(gòu)中,主庫數(shù)據(jù)發(fā)生了故障 丟失完全備份之后更改的數(shù)據(jù)的恢復(fù)步驟 1、首先做一個完全備份,確保生成完全備份的sq
        推薦度:
        導(dǎo)讀Mysql實現(xiàn)增量恢復(fù)的方法詳解:實驗介紹 增量恢復(fù)一般適用的場景: 1、人為的sql語句破壞了數(shù)據(jù)庫 2、在進(jìn)行下一次完全備份之前發(fā)生系統(tǒng)故障導(dǎo)致數(shù)據(jù)庫數(shù)據(jù)丟失 3、在主從架構(gòu)中,主庫數(shù)據(jù)發(fā)生了故障 丟失完全備份之后更改的數(shù)據(jù)的恢復(fù)步驟 1、首先做一個完全備份,確保生成完全備份的sq

        3、在數(shù)據(jù)庫中插入一條記錄,再執(zhí)行flush-logs操作,生成新的二進(jìn)制增量備份文件。

        mysql> insert into yx(name,score) values('tom',87);
        Query OK, 1 row affected (0.00 sec)

        mysql> select * from yx;
        +----------+--------+
        | name     | score  |
        +----------+--------+
        | zhangsan | 100.00 |
        | lisi     |  90.00 |
        | wangwu   |  80.00 |
        | zhaoliu  |  99.00 |
        | tom      |  87.00 |
        +----------+--------+
        5 rows in set (0.00 sec)
        [root@promote data]# mysqladmin -u root -p flush-logs  #生成二進(jìn)制文件
        Enter password:
        [root@promote data]# ls
        auto.cnf        ibdata1      ib_logfile1  mysql             mysql-bin.000002  performance_schema  test
        ib_buffer_pool  ib_logfile0  ibtmp1       mysql-bin.000001  mysql-bin.index   sys

        4、用delete刪除剛才插入的數(shù)據(jù)。模擬完全備份后數(shù)據(jù)丟失。

        mysql> delete from yx where name='tom';
        Query OK, 1 row affected (0.00 sec)

        mysql> select * from yx;
        +----------+--------+
        | name     | score  |
        +----------+--------+
        | zhangsan | 100.00 |
        | lisi     |  90.00 |
        | wangwu   |  80.00 |
        | zhaoliu  |  99.00 |
        +----------+--------+
        4 rows in set (0.00 sec)

        5、使用二進(jìn)制文件進(jìn)行恢復(fù)操作

        [root@promote data]# mysqlbinlog --no-defaults mysql-bin.000001 | mysql -u root -p

        6、查看數(shù)據(jù)庫內(nèi)容,刪除的數(shù)據(jù)有了。說明數(shù)據(jù)恢復(fù)成功。

        mysql> select * from yx;
        +----------+--------+
        | name     | score  |
        +----------+--------+
        | zhangsan | 100.00 |
        | lisi     |  90.00 |
        | wangwu   |  80.00 |
        | zhaoliu  |  99.00 |
        | tom      |  87.00 |
        +----------+--------+
        5 rows in set (0.00 sec)

        完全備份之后丟失所有數(shù)據(jù)的恢復(fù)步驟

        1、使用drop刪除表yx,模擬數(shù)據(jù)完全丟失

        mysql> drop table yx;
        Query OK, 0 rows affected (0.01 sec)

        mysql> show tables;
        Empty set (0.00 sec)

        2、先使用mysql命令進(jìn)行完全備份恢復(fù)操作。

        [root@promote data]# mysql -u root -p test < /opt/test.sql
        mysql> use test;
        Database changed
        mysql> select * from yx;
        +----------+--------+
        | name     | score  |
        +----------+--------+
        | zhangsan | 100.00 |
        | lisi     |  90.00 |
        | wangwu   |  80.00 |
        | zhaoliu  |  99.00 |
        +----------+--------+
        4 rows in set (0.00 sec)

        3、使用二進(jìn)制文件進(jìn)行增量備份操作。

        [root@promote data]# mysqlbinlog --no-defaults mysql-bin.000001 | mysql -u root -p
        mysql> select * from yx;
        +----------+--------+
        | name     | score  |
        +----------+--------+
        | zhangsan | 100.00 |
        | lisi     |  90.00 |
        | wangwu   |  80.00 |
        | zhaoliu  |  99.00 |
        | tom      |  87.00 |
        +----------+--------+
        5 rows in set (0.00 sec)

        基于時間點與位置的恢復(fù)

        利用二進(jìn)制日志實現(xiàn)局域時間點與位置的恢復(fù),假如需要往數(shù)據(jù)庫中插入兩條數(shù)據(jù),但是由于誤操作,兩條插入語句中間刪除一條數(shù)據(jù),而這條數(shù)據(jù)不應(yīng)該刪除,這時候,需要基于時間點與位置進(jìn)行恢復(fù)。

        –start-datetime=datetime

        從二進(jìn)制日志中第1個日期時間等于或晚于datetime參量的事件開始讀。

        –stop-datetime=datetime
        從二進(jìn)制日志中第1個日期時間等于或晚于datetime參量的事件起停止讀。

        –start-position=N
        從二進(jìn)制日志中第1個位置等于N參量時的事件開始讀。

        –stop-position=N
        從二進(jìn)制日志中第1個位置等于和大于N參量時的事件起停止讀。

        mysql> select * from yx;
        +----------+--------+
        | name     | score  |
        +----------+--------+
        | zhangsan | 100.00 |
        | lisi     |  90.00 |
        | wangwu   |  80.00 |
        | zhaoliu  |  99.00 |
        +----------+--------+
        5 rows in set (0.00 sec)

        mysql> insert into yx values('test01',87);
        Query OK, 1 row affected (0.00 sec)

        mysql> delete from yx where name='zhangsan';
        Query OK, 1 row affected (0.00 sec)

        mysql> insert into yx values('test02',99);
        Query OK, 1 row affected (0.17 sec)

        mysql> select * from yx;
        +---------+-------+
        | name    | score |
        +---------+-------+
        | lisi    | 90.00 |
        | wangwu  | 80.00 |
        | zhaoliu | 99.00 |
        | test01  | 87.00 |
        | test02  | 99.00 |
        +---------+-------+
        6 rows in set (0.00 sec)

        1、基于時間點的恢復(fù)。18-07-03 21:56:04是錯誤語句節(jié)點,18-07-03 21:56:11第二句正確語句節(jié)點

        [root@promote data]# mysqlbinlog --no-defaults --base64-output=decode-rows mysql-bin.000003
        # at 298
        #180703 21:55:35 server id 1  end_log_pos 406 CRC32 0x257c67ab  Query   thread_id=46    exec_time=0 error_code=0
        use `test`/*!*/;
        SET TIMESTAMP=1530626135/*!*/;
        insert into yx values('test01',87)
        /*!*/;
        # at 406
        #180703 21:55:35 server id 1  end_log_pos 437 CRC32 0xdd7913a3  Xid = 392
        COMMIT/*!*/;
        # at 437
        #180703 21:56:04 server id 1  end_log_pos 502 CRC32 0x0d09bd0b  Anonymous_GTID  last_committed=1    sequence_number=2
        SET @@SESSION.GTID_NEXT= 'ANONYMOUS'/*!*/;
        # at 502
        #180703 21:56:04 server id 1  end_log_pos 581 CRC32 0xe6040c79  Query   thread_id=46    exec_time=0 error_code=0
        SET TIMESTAMP=1530626164/*!*/;
        BEGIN
        /*!*/;
        # at 581
        #180703 21:56:04 server id 1  end_log_pos 691 CRC32 0x2d99f699  Query   thread_id=46    exec_time=0 error_code=0
        SET TIMESTAMP=1530626164/*!*/;
        delete from yx where name='zhangsan'
        /*!*/;
        # at 691
        #180703 21:56:04 server id 1  end_log_pos 722 CRC32 0x4a742173  Xid = 393
        COMMIT/*!*/;
        # at 722
        #180703 21:56:11 server id 1  end_log_pos 787 CRC32 0x6d0b47d8  Anonymous_GTID  last_committed=2    sequence_number=3
        SET @@SESSION.GTID_NEXT= 'ANONYMOUS'/*!*/;
        # at 787
        #180703 21:56:11 server id 1  end_log_pos 866 CRC32 0x97e2deb7  Query   thread_id=46    exec_time=0 error_code=0
        SET TIMESTAMP=1530626171/*!*/;
        BEGIN
        /*!*/;
        # at 866
        #180703 21:56:11 server id 1  end_log_pos 974 CRC32 0x9e24e8af  Query   thread_id=46    exec_time=0 error_code=0
        SET TIMESTAMP=1530626171/*!*/;
        insert into yx values('test02',99)
        [root@promote data]# mysql -u root -p test < /opt/test.sql   #先進(jìn)行完全恢復(fù)
        mysql> select * from yx;
        +----------+--------+
        | name     | score  |
        +----------+--------+
        | zhangsan | 100.00 |
        | lisi     |  90.00 |
        | wangwu   |  80.00 |
        | zhaoliu  |  99.00 |
        +----------+--------+
        4 rows in set (0.00 sec)
        [root@promote data]# mysqlbinlog --no-defaults --stop-datetime='18-07-03 21:56:04' mysql-bin.000003 | mysql -u root -p   #結(jié)束節(jié)點
        Enter password:
        [root@promote data]# mysqlbinlog --no-defaults --start-datetime='18-07-03 21:56:11' mysql-bin.000003 | mysql -u root -p   #重新開始節(jié)點
        Enter password:
        mysql> select * from yx;
        +----------+--------+
        | name     | score  |
        +----------+--------+
        | zhangsan | 100.00 |
        | lisi     |  90.00 |
        | wangwu   |  80.00 |
        | zhaoliu  |  99.00 |
        | test01   |  87.00 |
        | test02   |  99.00 |
        +----------+--------+
        6 rows in set (0.00 sec)

        2、基于位置恢復(fù),其中581是錯誤語句的節(jié)點,866是第二句正確語句的節(jié)點

        [root@promote data]# mysql -u root -p test < /opt/test.sql
        mysql> select * from yx;
        +----------+--------+
        | name     | score  |
        +----------+--------+
        | zhangsan | 100.00 |
        | lisi     |  90.00 |
        | wangwu   |  80.00 |
        | zhaoliu  |  99.00 |
        +----------+--------+
        4 rows in set (0.01 sec)
        [root@promote data]# mysqlbinlog --no-defaults --stop-position='581' mysql-bin.000003 | mysql -u root -p
        Enter password:
        [root@promote data]# mysqlbinlog --no-defaults --start-position='866' mysql-bin.000003 | mysql -u root -p
        Enter password:
        mysql> select * from yx;
        +----------+--------+
        | name     | score  |
        +----------+--------+
        | zhangsan | 100.00 |
        | lisi     |  90.00 |
        | wangwu   |  80.00 |
        | zhaoliu  |  99.00 |
        | test01   |  87.00 |
        | test02   |  99.00 |
        +----------+--------+
        6 rows in set (0.00 sec)

        您可能感興趣的文章:

      1. MySQL數(shù)據(jù)庫備份與恢復(fù)方法
      2. MySQL忘記密碼恢復(fù)密碼的實現(xiàn)方法
      3. 用mysqldump備份和恢復(fù)指定表的方法
      4. MySQL數(shù)據(jù)庫恢復(fù)(使用mysqlbinlog命令)
      5. 詳解Mysql自動備份與恢復(fù)的幾種方法(圖文教程)
      6. mysql 誤刪除ibdata1之后的恢復(fù)方法
      7. MYSQL使用.frm恢復(fù)數(shù)據(jù)表結(jié)構(gòu)的實現(xiàn)方法
      8. Linux下實現(xiàn)MySQL數(shù)據(jù)備份和恢復(fù)的命令使用全攻略
      9. MySQL單表ibd文件恢復(fù)方法詳解
      10. 聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        Mysql實現(xiàn)增量恢復(fù)的方法詳解

        Mysql實現(xiàn)增量恢復(fù)的方法詳解:實驗介紹 增量恢復(fù)一般適用的場景: 1、人為的sql語句破壞了數(shù)據(jù)庫 2、在進(jìn)行下一次完全備份之前發(fā)生系統(tǒng)故障導(dǎo)致數(shù)據(jù)庫數(shù)據(jù)丟失 3、在主從架構(gòu)中,主庫數(shù)據(jù)發(fā)生了故障 丟失完全備份之后更改的數(shù)據(jù)的恢復(fù)步驟 1、首先做一個完全備份,確保生成完全備份的sq
        推薦度:
        標(biāo)簽: 還原 恢復(fù)的 講解
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 四虎成人免费网站在线| 最近2019中文免费字幕| 久久久久亚洲精品无码网址| 疯狂做受xxxx高潮视频免费| 小小影视日本动漫观看免费| 亚洲熟妇av午夜无码不卡| 猫咪社区免费资源在线观看| 亚洲六月丁香婷婷综合| 免费看美女让人桶尿口| 亚洲成a人无码亚洲成www牛牛 | 免费成人在线视频观看| 国产精品久久久亚洲| 久久青草国产免费观看| 91亚洲精品第一综合不卡播放| 18女人腿打开无遮掩免费| 亚洲毛片在线免费观看| 成人免费无遮挡无码黄漫视频| 噜噜综合亚洲AV中文无码| 亚洲视频在线一区二区| 免费在线黄色电影| 亚洲美女免费视频| 成人毛片免费视频| 四虎影视永久在线精品免费 | 亚洲影院在线观看| 成年人在线免费观看| 免费又黄又爽又猛大片午夜| 亚洲精品国产精品乱码视色| 久久午夜夜伦鲁鲁片免费无码影视| 亚洲成无码人在线观看| 天天天欲色欲色WWW免费| 春意影院午夜爽爽爽免费| 亚洲2022国产成人精品无码区| 麻豆国产精品免费视频| 精品国产_亚洲人成在线| 亚洲成色WWW久久网站| 成人免费男女视频网站慢动作| 九九九国产精品成人免费视频| 亚洲av不卡一区二区三区| 精品免费国产一区二区三区| 国产区在线免费观看| 亚洲看片无码在线视频|