亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

mysql利用mysqlbinlog命令恢復(fù)誤刪除數(shù)據(jù)的實(shí)現(xiàn)

 更新時(shí)間:2021年03月19日 10:33:30   作者:柴米油鹽醬醋0  
這篇文章主要介紹了mysql利用mysqlbinlog命令恢復(fù)誤刪除數(shù)據(jù)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

實(shí)驗(yàn)環(huán)境:

MYSQL 5.7.22 

開(kāi)啟二進(jìn)志日志

日志格式MIXED

實(shí)驗(yàn)過(guò)程:

1、執(zhí)行:FLUSH LOGS;

master-bin.000014 文件就是新生成的文件

刷新日志是為了實(shí)驗(yàn)內(nèi)容更直觀,更容易觀察到整個(gè)實(shí)驗(yàn)過(guò)程的內(nèi)容。

我看到網(wǎng)上許多文章有在用REST MASTER;而未說(shuō)明此命令的嚴(yán)重性

這條命令會(huì)刪除所有日志文件,并將文件名和記錄點(diǎn)進(jìn)行重置歸零,99%的情況下是用不到這條命令的

刪除日志可以用PURGE MASTER LOGS...這樣保險(xiǎn)一點(diǎn)

2、新日志文件已經(jīng)生成,先觀察一下內(nèi)容,有幾個(gè)點(diǎn)需要了解

 查看二進(jìn)日日志文件命令:mysqlbinlog master-bin.000014

# at 4
#180903 16:19:12 server id 1 end_log_pos 123 CRC32 0xe03659b3 Start: binlog v 4, server v 5.7.22-log created 180903 16:19:12

先看上邊兩個(gè)箭頭:

  • # at 4(事件開(kāi)始點(diǎn))
  • #180903 16:19:12 (代表的是時(shí)間)
  • server id 1(主備復(fù)制時(shí)需要為每個(gè)MYSQL數(shù)據(jù)庫(kù)指定唯一的SERVER ID,我的未配置,默認(rèn)是1)
  • end_log_pos 123(事件結(jié)束點(diǎn))

再看下邊兩個(gè)箭頭:

  • # at 123(事件開(kāi)始點(diǎn),和上邊的事件結(jié)束點(diǎn)是對(duì)應(yīng)的)
  • end_log_pos 154(事件結(jié)束點(diǎn))
  • at 4 和 at 123之間的內(nèi)容就是事件內(nèi)容

3、模擬業(yè)務(wù)場(chǎng)景,建表,插入數(shù)據(jù),最后將某個(gè)表刪除;為了真實(shí),我建了兩個(gè)庫(kù),同時(shí)向不同的庫(kù)寫(xiě)入內(nèi)容,最后將其中一個(gè)庫(kù)中的某個(gè)表刪除。

mysql> FLUSH LOGS;
Query OK, 0 rows affected (0.01 sec)

mysql> create database t1;
Query OK, 1 row affected (0.03 sec)

mysql> create database t2;
Query OK, 1 row affected (0.00 sec)

mysql> use t1;
Database changed
mysql> create table t1 (id int);
Query OK, 0 rows affected (0.03 sec)

mysql> use t2;
Database changed
mysql> create table t2 (id int);
Query OK, 0 rows affected (0.03 sec)

mysql> insert into t2 values (3);
Query OK, 1 row affected (0.01 sec)

mysql> insert into t2 values (4);
Query OK, 1 row affected (0.01 sec)

mysql> use t1;
Database changed
mysql> insert into t1 values (1);
Query OK, 1 row affected (0.01 sec)

mysql> insert into t1 values (2);
Query OK, 1 row affected (0.01 sec)

mysql> use t2;
Database changed
mysql> insert into t2 values(20);
Query OK, 1 row affected (0.01 sec)

mysql> use t1;
Database changed
mysql> insert into t1 values(10);
Query OK, 1 row affected (0.01 sec)

mysql> drop table t1;
Query OK, 0 rows affected (0.02 sec)

mysql> use t2;
Database changed
mysql> insert into t2 values(222);
Query OK, 1 row affected (0.01 sec)

mysql>

建立T1、T2庫(kù),建立T1、T2表。

向T1插入數(shù)據(jù):1、2、10

向T2插入數(shù)據(jù):3、4、20、222

模擬場(chǎng)景,刪除T1表,T2庫(kù)T2表業(yè)務(wù)還在繼續(xù)運(yùn)行

現(xiàn)在將要通過(guò)日志將T1表進(jìn)行恢復(fù)。

首先要先找到那個(gè)刪除命令的日志點(diǎn):

mysqlbinlog master-bin.000014|grep -5a "DROP TABLE" 

看到#AT 2439 (記下這個(gè)數(shù)字)

在這個(gè)事件點(diǎn)執(zhí)行的DROP TABLE操作。

由于日志文件內(nèi)不只有T1庫(kù)的日志,還有T2庫(kù)的日志,一會(huì)只取T1數(shù)據(jù)庫(kù)的日志

而且還只取2439日志點(diǎn)之前的日志,再進(jìn)行重新應(yīng)用

如果把2439的日志取的話,再應(yīng)用時(shí)數(shù)據(jù)庫(kù)會(huì)重新建庫(kù)建表,插數(shù)據(jù), 還會(huì)執(zhí)行這條刪表語(yǔ)句。

 mysqlbinlog -d t1 --stop-position=2439  master-bin.000014>test.sql(執(zhí)行這條語(yǔ)句竟然報(bào)錯(cuò)了)

WARNING: The option --database has been used. It may filter parts of transactions, but will include the GTIDs in any case. If you want to exclude or include transactions, you should use the options --exclude-gtids or --include-gtids, respectively, instead.
暫時(shí)弄不清楚原因,百度了下修改成:

mysqlbinlog master-bin.000014 -d t1 --skip-gtids --stop-position=2439>test.sql

-d:參數(shù)是指定某個(gè)數(shù)據(jù)庫(kù)日志 

命令意思是將master-bin.000014日志文件內(nèi)的T1數(shù)據(jù)庫(kù)日志,事件點(diǎn)2439之前的日志,輸出到test.sql

# tail test.sql

看看文件最后幾行

登錄數(shù)據(jù)庫(kù):

mysql> use t1;
Database changed

mysql> source test.sql

中間報(bào)錯(cuò)了一次,因?yàn)槔镞叞◣?kù)T1語(yǔ)句。

再查看表內(nèi)容

這樣數(shù)據(jù)就回來(lái)了。

到此這篇關(guān)于mysql利用mysqlbinlog命令恢復(fù)誤刪除數(shù)據(jù)的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)mysql mysqlbinlog恢復(fù)誤刪除內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • mysql中的replace函數(shù)替換字符串問(wèn)題

    mysql中的replace函數(shù)替換字符串問(wèn)題

    這篇文章主要介紹了mysql中的replace函數(shù)替換字符串問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • mysql中數(shù)據(jù)統(tǒng)計(jì)的技巧備忘錄

    mysql中數(shù)據(jù)統(tǒng)計(jì)的技巧備忘錄

    mysql是常用數(shù)據(jù)庫(kù),對(duì)于數(shù)字操作相關(guān)的東西相當(dāng)方便,這篇文章主要給大家介紹了關(guān)于mysql中數(shù)據(jù)統(tǒng)計(jì)技巧的相關(guān)資料,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2018-05-05
  • DQL命令查詢數(shù)據(jù)實(shí)現(xiàn)方法詳解

    DQL命令查詢數(shù)據(jù)實(shí)現(xiàn)方法詳解

    DQL(Data?Query?Language,數(shù)據(jù)查詢語(yǔ)言),查詢數(shù)據(jù)庫(kù)數(shù)據(jù),如SELECT語(yǔ)句,簡(jiǎn)單的單表查詢或多表的復(fù)雜查詢和嵌套查詢,數(shù)據(jù)庫(kù)語(yǔ)言中最核心、最重要的語(yǔ)句,使用頻率最高的語(yǔ)句
    2022-09-09
  • 淺析centos 7 mysql-8.0.19-1.el7.x86_64.rpm-bundle.tar

    淺析centos 7 mysql-8.0.19-1.el7.x86_64.rpm-bundle.tar

    這篇文章主要介紹了centos 7 mysql-8.0.19-1.el7.x86_64.rpm-bundle.tar的相關(guān)知識(shí),需要的朋友可以參考下
    2020-01-01
  • Windows10下安裝解壓版MySQL教程圖文詳解

    Windows10下安裝解壓版MySQL教程圖文詳解

    MySQL安裝分為安裝版和解壓版,安裝版主要是由一個(gè)exe程序式安裝,有界面鼠標(biāo)點(diǎn)擊安裝即可,這篇文章主要介紹了Windows10下安裝解壓版MySQL教程,需要的朋友可以參考下
    2019-09-09
  • MySQL8.0 如何快速加列

    MySQL8.0 如何快速加列

    這篇文章主要介紹了MySQL8.0 如何快速加列,幫助大家更好的理解和使用MySQL數(shù)據(jù)庫(kù),感興趣的朋友可以了解下
    2020-09-09
  • windows2008 64位系統(tǒng)下MySQL 5.7綠色版的安裝教程

    windows2008 64位系統(tǒng)下MySQL 5.7綠色版的安裝教程

    這篇文章主要給大家分享了在windows2008 64位系統(tǒng)下MySQL 5.7綠色版的安裝教程,文中將安裝步驟介紹的非常詳細(xì),相信會(huì)對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。
    2017-05-05
  • 淺談MySQL數(shù)據(jù)查詢太多會(huì)OOM嗎

    淺談MySQL數(shù)據(jù)查詢太多會(huì)OOM嗎

    本文主要介紹了淺談MySQL數(shù)據(jù)查詢太多會(huì)OOM嗎?文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • mysql安裝圖解總結(jié)

    mysql安裝圖解總結(jié)

    本篇文章給大家總結(jié)了在各種電腦環(huán)境系統(tǒng)下安裝MYSQL的圖解過(guò)程,以及遇到問(wèn)題后的解決辦法。
    2018-06-06
  • MySQL?移動(dòng)數(shù)據(jù)目錄后啟動(dòng)失敗問(wèn)題解決

    MySQL?移動(dòng)數(shù)據(jù)目錄后啟動(dòng)失敗問(wèn)題解決

    由于安裝數(shù)據(jù)庫(kù)時(shí)將MySQL的數(shù)據(jù)目錄放在了根目錄下,現(xiàn)在存儲(chǔ)空間不足,遇到這個(gè)問(wèn)題如何解決呢,下面小編給大家?guī)?lái)了mysql移動(dòng)數(shù)據(jù)目錄啟動(dòng)失敗解決方法,感興趣的朋友一起看看吧
    2023-04-04

最新評(píng)論