电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

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

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

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

MYSQL 5.7.22

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

日志格式MIXED

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

3、模擬業(yè)務(wù)場景,建表,插入數(shù)據(jù),最后將某個(gè)表刪除;為了真實(shí),我建了兩個(gè)庫,同時(shí)向不同的庫寫入內(nèi)容,最后將其中一個(gè)庫中的某個(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 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ù)運(yùn)行

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

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

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

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

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

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

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

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

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

mysqlbinlog -d t1 --stop-position=2439 master-bin.000014>test.sql(執(zhí)行這條語句竟然報(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

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

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

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

# tail test.sql

看看文件最后幾行

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

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

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

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

再查看表內(nèi)容

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

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

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

標(biāo)簽: MySQL 數(shù)據(jù)庫
相關(guān)文章:
主站蜘蛛池模板: 聚氨酯复合板保温板厂家_廊坊华宇创新科技有限公司 | 振动筛,震动筛,圆形振动筛,振动筛价格,振动筛厂家-新乡巨宝机电 蒸汽热收缩机_蒸汽发生器_塑封机_包膜机_封切收缩机_热收缩包装机_真空机_全自动打包机_捆扎机_封箱机-东莞市中堡智能科技有限公司 | 活性氧化铝球|氧化铝干燥剂|分子筛干燥剂|氢氧化铝粉-淄博同心材料有限公司 | 河南正规膏药生产厂家-膏药贴牌-膏药代加工-修康药业集团官网 | 华夏医界网_民营医疗产业信息平台_民营医院营销管理培训 | 【MBA备考网】-2024年工商管理硕士MBA院校/报考条件/培训/考试科目/提前面试/考试/学费-MBA备考网 | 博莱特空压机|博莱特-阿特拉斯独资空压机品牌核心代理商 | 懂研帝_专业SCI论文润色机构_SCI投稿发表服务公司 | 网站制作优化_网站SEO推广解决方案-无锡首宸信息科技公司 | 高压无油空压机_无油水润滑空压机_水润滑无油螺杆空压机_无油空压机厂家-科普柯超滤(广东)节能科技有限公司 | 振动时效_振动时效仪_超声波冲击设备-济南驰奥机电设备有限公司 北京宣传片拍摄_产品宣传片拍摄_宣传片制作公司-现像传媒 | 一体化污水处理设备,一体化污水设备厂家-宜兴市福源水处理设备有限公司 | 高清视频编码器,4K音视频编解码器,直播编码器,流媒体服务器,深圳海威视讯技术有限公司 | 金联宇电缆总代理-金联宇集团-广东金联宇电缆实业有限公司 | 蜘蛛车-高空作业平台-升降机-高空作业车租赁-臂式伸缩臂叉装车-登高车出租厂家 - 普雷斯特机械设备(北京)有限公司 | 深圳装修_店面装修设计_餐厅设计_装修全包价格-尚泰装饰设计 | 首页 - 张店继勇软件开发工作室 兰州UPS电源,兰州山特UPS-兰州万胜商贸 | 分子精馏/精馏设备生产厂家-分子蒸馏工艺实验-新诺舜尧(天津)化工设备有限公司 | 对辊破碎机_四辊破碎机_双齿辊破碎机_华盛铭重工 | 包塑丝_高铁绑丝_地暖绑丝_涂塑丝_塑料皮铁丝_河北创筹金属丝网制品有限公司 | 涡街流量计_LUGB智能管道式高温防爆蒸汽温压补偿计量表-江苏凯铭仪表有限公司 | 高效节能电机_伺服主轴电机_铜转子电机_交流感应伺服电机_图片_型号_江苏智马科技有限公司 | 亳州网络公司 - 亳州网站制作 - 亳州网站建设 - 亳州易天科技 | 体检车_移动CT车_CT检查车_CT车_深圳市艾克瑞电气有限公司移动CT体检车厂家-深圳市艾克瑞电气有限公司 | 北京京云律师事务所| 钢制暖气片散热器_天津钢制暖气片_卡麦罗散热器厂家 | 礼堂椅厂家|佛山市艺典家具有限公司 | 电抗器-能曼电气-电抗器专业制造商 | 制丸机,小型中药制丸机,全自动制丸机价格-甘肃恒跃制药设备有限公司 | 100国际学校招生 - 专业国际学校择校升学规划 | 蔬菜配送公司|蔬菜配送中心|食材配送|饭堂配送|食堂配送-首宏公司 | 专业生产动态配料系统_饲料配料系统_化肥配料系统等配料系统-郑州鑫晟重工机械有限公司 | 房间温控器|LonWorks|海思 | 深圳宣传片制作-企业宣传视频制作-产品视频拍摄-产品动画制作-短视频拍摄制作公司 | 脱硝喷枪-氨水喷枪-尿素喷枪-河北思凯淋环保科技有限公司 | 苹果售后维修点查询,苹果iPhone授权售后维修服务中心 – 修果网 拼装地板,悬浮地板厂家,悬浮式拼装运动地板-石家庄博超地板科技有限公司 | 艾默生变频器,艾默生ct,变频器,ct驱动器,广州艾默生变频器,供水专用变频器,风机变频器,电梯变频器,艾默生变频器代理-广州市盟雄贸易有限公司官方网站-艾默生变频器应用解决方案服务商 | 通信天线厂家_室分八木天线_对数周期天线_天线加工厂_林创天线源头厂家 | 质构仪_鱼糜弹性仪-上海腾拔仪器科技有限公司 | 集装箱展厅-住人集装箱住宿|建筑|房屋|集装箱售楼处-山东锐嘉科技工程有限公司 | 货车视频监控,油管家,货车油管家-淄博世纪锐行电子科技 |