使用闪回查询恢复误删除的数据某日,一个朋友的数据库数据被误操作删除(delete)掉了,并且已经提交请求请我帮忙进行恢复。数据库版本是Oracle 10g Release 2的,我首先想到的是使用Flashback Query进行闪回恢复,不幸的是出现了ORA- 01555,数据已经不能被闪回了。Oracle从9i开始推出的闪回查询特性被一直不断增强着,闪回查询通过对回滚段中存储的前镜像数据进行追
相比于全备+binlog恢复,flashback 是动作更小的恢复方式。简单来说就是通过工具解析 binlog 生成与误操作相反的SQL,比如 delete 则反向生成 insert,再执行一遍即可恢复数据。第一个实现该功能的是彭立勋,他在 MySQL 5.5 版本上实现,并将其提交给 MariaDB,Oracle MySQL 并没有推出这个功能,由于跟版本绑定比较深,使用上不是很广泛。美团点评陆
# MySQL回闪查询实现指南
## 1. 简介
在介绍MySQL回闪查询之前,我们先来了解一下什么是回闪查询。回闪查询指的是在数据库中查询某个特定时间点的数据,而不是查询当前最新的数据。这对于一些需要追溯历史数据的应用场景非常有用。
MySQL提供了一种名为闪回查询(Flashback Query)的机制,用于实现回闪查询。在MySQL 5.7及以上版本中,我们可以通过设置系统变量`syst
原创
2023-10-07 15:09:12
603阅读
MySQL DBA或开发人员,有时会误删或者误更新数据,如果是线上环境并且影响较大,就需要能快速回滚。传统恢复方法是利用备份重搭实例,再应用去除错误sql后的binlog来恢复数据。此法费时费力,甚至需要停机维护,并不适合快速回滚。也有团队利用LVM快照来缩短恢复时间,但快照的缺点是会影响mysql的性能。MySQL闪回(flashback)利用binlog直接进行回滚,能快速恢复且不用停机。闪回
文章目录一、 MySQL闪回工具1.1 binlog2sql1.2 MyFlash二、总结 一、 MySQL闪回工具1.1 binlog2sqlbinlog2sql安装包及依赖包asn1crypto-master.zip cairocffi-master.zip cryptography-master.zip ipaddress-master.zip pycparser-master.zip P
# MySQL查看闪回查询
闪回查询是MySQL数据库中的一个非常有用的功能,它可以让用户查询数据库中已删除或者修改的数据。在实际应用中,有时候我们会不小心删除了一些重要数据,或者需要查看数据库某个时间点的数据状态,这时候闪回查询就可以派上用场了。
## 什么是闪回查询
闪回查询是通过MySQL的日志文件实现的一种功能,它可以让用户回溯到任意时间点的数据,以达到查询已删除或修改数据的目的。在
文章目录前言一、认识闪回?二、启用步骤1.检查是否开启闪回功能2.开启数据库闪回功能3.查看回滚段记录保存时间三、测试数据闪回1、构造测试数据2、删除数据测试闪回功能总结 前言 数据库的闪回功能可以说是DBA的大杀器之一,当数据库被错误操作导致数据丢失时,通过闪回可以非常方便快速的恢复数据,在日常运维,故障处理、"数据恢复炫技"有着广泛的应用,学好闪回再也不怕数据被误删啦。一、认识闪回?
####存储过程被覆盖 客户测试库存储过程直接覆盖了生产库存储过程,中间没有进行验证以及备份。通过以下查询尝试找回 select TEXT from dba_source as of timestamp TO_TIMESTAMP('2021-09-16 16:00:00', 'YYYY-MM-DD ...
转载
2021-09-17 13:47:00
94阅读
2评论
一、概述binlog2sql是一个开源项目,应用于大众点评线上环境。类似于ORACLE中的闪回功能,binlog2sql可以基于时间点或者位置偏移量进行数据恢复。从MySQL binlog解析出你要的SQL。根据不同选项,你可以得到原始SQL、回滚SQL、去除主键的INSERT SQL等。也就是对于insert操作会生成对应的delete语句,反之delete操作会生出对应的insert语句,up
转载
2023-10-26 19:45:19
91阅读
关键字:mysql闪回,binlog2sql0、闪回技术与工具简介mysql闪回工具比较流行三大类:【0.1】官方的mysqlbinlog:支持数据库在线/离线,用脚本处理binlog的输出,转化成对应SQL再执行。通用性不好,对正则、sed等需要较高熟练度。【0.2】第三方的mysqlbinlog工具,比官方的工具多了一个闪回功能 -B【0.3】开源的binlog2sql:兼容性比较好,使用难度
测试闪回查询功能
原创
2022-12-02 19:28:08
205阅读
create table t1 as select * from dba_objects;SCOTT@ORA12C> select sysdate from dual;SYSDATE-------------------2015-09-20 14:54:101 row selected.SCOTT@ORA12C> delete from t1;0 rows deleted.SCOTT@
原创
2015-09-20 15:50:22
753阅读
MySQL闪回工具—my2sqlmy2sql是使用go语言开发的MySQL binlog解析工具,通过解析MySQL binlog ,可以生成原始SQL、回滚SQL、去除主键的INSERT SQL等,也可以生成DML统计信息。类似工具有binlog2sql、MyFlash、my2fback等,本工具基于my2fback、binlog_rollback工具二次开发而来。my2sql的GitHub地址
转载
2023-08-31 19:53:54
111阅读
一、闪回技术的意义 在没有闪回技术之前,如果一个不小心,手一抖,有时会误删数据或者误更新数据。 通常遇到这种事,传统恢复方法是利用备份重搭实例,再应用 binlog 到误操作的前一刻。再把数据导出来,导入到生产中。此法费时费力,甚至需要停机维护,并不适合快速回滚。 MySQL闪回(flashback)利用直接进行回滚到误操作的前一刻。DBA兄弟再也不需要每天练10公里了。 二、bi
转载
2023-08-04 14:34:40
1177阅读
利用binlog2sql快速闪回误删除数据 - 别拿豆包不当干粮各位兄弟们,好久不见了!最近一直忙于新书的创作,所以一直没有时间更新博客。不知道这段时间大家学习得怎么样,希望大家通过看我的文章给大家带来帮助。老张我也花费了大量时间录制一些数据库的视频课程,大家要是感兴趣,也可以去学习,不要错过啊!今儿抽出时间,给大家分享一篇利用binlog2sql闪回工具,来恢复误删除的数据。我们都知道binlo
生产上误删数据、误改数据的现象也是时常发生的现象,作为运维这时候就需要出来补锅了,最开始的做法是恢复备份,然后从中找到需要的数据再进行修复,但是这个时间太长了,对于大表少数数据的修复来讲,动作太大,成本也大。当然还有其他的一些操作方法,我们今天有主角。 MySQL 闪回工具 -- binlog2sql用途数据回滚主从切换后数据不一致的修复从 binlo
适用范围:mysql数据库,包括mysql、mariadbgithub: https://github.com/danfengcao/binlog2sql.git 前提条件:1)配置要求
[mysqld]
server_id = 1
log_bin = /var/log/mysql/mysql-bin.log
max_binlog_size = 1G
binlog_format = r
关键字:mysql闪回,binlog2sql0、闪回技术与工具简介mysql闪回工具比较流行三大类:【0.1】官方的mysqlbinlog:支持数据库在线/离线,用脚本处理binlog的输出,转化成对应SQL再执行。通用性不好,对正则、sed等需要较高熟练度。【0.2】第三方的mysqlbinlog工具,比官方的工具多了一个闪回功能 -B【0.3】开源的binlog2sql:兼容性比较好,使用难度
转载
2023-10-23 19:53:59
126阅读
1. 简介mysqlbinlog flashback(闪回)用于快速恢复由于误操作丢失的数据。在DBA误操作时,可以把数据库恢复到以前某个时间点(或者说某个binlog的某个pos)。比如忘了带where条件的update、delete操作,传统的恢复方式是利用全备+二进制日志前滚进行恢复,相比于传统的全备+增备,flashback显然更为快速、简单。目前MySQL的flashback功能是利用b
转载
2023-06-14 01:36:56
154阅读
DBA或开发人员,有时会误删或者误更新数据,如果是线上环境并且影响较大,就需要能快速回滚。传统恢复方法是利用备份重搭实例,再应用去除错误sql后的binlog来恢复数据。此法费时费力,甚至需要停机维护,并不适合快速回滚。也有团队利用LVM快照来缩短恢复时间,但快照的缺点是会影响mysql的性能。MySQL闪回(flashback)利用binlog直接进行回滚,能快速恢复且不用停机。本文将介绍闪回原
转载
2023-10-04 19:48:15
115阅读