av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術(shù)文章
文章詳情頁

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

瀏覽:53日期:2023-10-04 18:19:44
實驗環(huán)境:

MYSQL 5.7.22

開啟二進(jìn)志日志

日志格式MIXED

實驗過程:

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

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

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

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

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

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

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

刪除日志可以用PURGE MASTER LOGS...這樣保險一點

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

mysql利用mysqlbinlog命令恢復(fù)誤刪除數(shù)據(jù)的實現(xià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

先看上邊兩個箭頭:

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

再看下邊兩個箭頭:

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

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

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 changedmysql> create table t1 (id int);Query OK, 0 rows affected (0.03 sec)mysql> use t2;Database changedmysql> 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 changedmysql> 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 changedmysql> insert into t2 values(20);Query OK, 1 row affected (0.01 sec)mysql> use t1;Database changedmysql> 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 changedmysql> insert into t2 values(222);Query OK, 1 row affected (0.01 sec)mysql>

建立T1、T2庫,建立T1、T2表。

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

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

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

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

首先要先找到那個刪除命令的日志點:

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

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

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

在這個事件點執(zhí)行的DROP TABLE操作。

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

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

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

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

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.暫時弄不清楚原因,百度了下修改成:

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

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

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

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

# tail test.sql

看看文件最后幾行

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

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

mysql> use t1;Database changedmysql> source test.sql

中間報錯了一次,因為里邊包含建庫T1語句。

再查看表內(nèi)容

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

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

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

標(biāo)簽: MySQL 數(shù)據(jù)庫
相關(guān)文章:
主站蜘蛛池模板: 亚洲视频在线看 | 亚洲一区二区在线免费观看 | 欧美一区二区大片 | 色视频网站 | 国产福利在线视频 | 香蕉婷婷 | 国产精品色| 亚洲视频免费观看 | 国产精品99久久久久 | 伊色综合久久之综合久久 | 欧美高清一区 | 中文字幕不卡在线观看 | 国产精品成人一区二区三区吃奶 | 国产精品欧美一区喷水 | 久久综合久 | 久久精品国产a三级三级三级 | 国产日韩欧美在线 | 精品无码久久久久久久动漫 | 久久大全| 亚洲精品一区二区三区四区高清 | 午夜精品福利视频 | 久久一区二区av | 精品久久久久一区二区国产 | 日韩在线免费视频 | 日韩aⅴ在线观看 | 国产jizz女人多喷水99 | 精品www| 国产 日韩 欧美 在线 | 日韩av在线播 | 免费99精品国产自在在线 | 国产日韩精品在线 | 欧美色综合| 国产在线观看av | 中文字幕色站 | 亚洲成人毛片 | 精品伦精品一区二区三区视频 | 91影院在线观看 | 99久久精品视频免费 | av在线免费网 | 国产伦精品| 国产精品99久久久久久动医院 |