mysqlbinlog flashback 5.6版本

下载地址

  http://pan.baidu.com/s/1eQW9zSQ

如有疑问请联系微信:onesoft007

简介

DBA或者开发人员,有时会误删除或者误更新数据。传统的数据库恢复方法是利用之前的备份再加上误操作之前的binlog,来恢复数据。该方法需要耗费较长时间来恢复备份,甚至需要停机维护,严重降低系统的可用性。

MySQL的flashback功能是由淘宝的彭立勋,在MySQL-5.5.18的基础上开发的。随着binlog格式的变动和类型的增加,基于5.5.18的版本,无法用于目前主流的5.6版本的。因此平民软件将该功能移植到5.6版本上,让相关人员对数据库有更强的掌控能力。

 

使用方法

  1. 定位误操作的binlog位置

mysqlbinlog -v <binlog file> | grep <keyword>

举例

mysqlbinlog -v --base64-output=decode-rows /var/lib/mysql/128.000110 | grep -B10 -A5 items

输出类似为

 

# at 1093

#160215 15:22:39 server id 10  end_log_pos 1240 CRC32 0x6146d30e        Table_map: `zabbix`.`items` mapped to number 73

# at 1240

#160215 15:22:39 server id 10  end_log_pos 1824 CRC32 0xe2d557b8        Update_rows: table id 73 flags: STMT_END_F

‘/*!*/;

### UPDATE `zabbix`.`items`

### WHERE

###   @1=24138

###   @2=0

###   @3=‘‘

###   @4=‘‘

###   @5=10106

 

  1. 确认相关位置

假设找到相关位置,开始位置1017,结束位置2563

mysqlbinlog     -v --base64-output=decode-rows  --start-position=1017 --stop-position=2563 /var/lib/mysql/128.000110

  1. 使用平民软件提供的flashback软件

mysqlbinlog   -B  -v   --start-position=1017 --stop-position=2563 /var/lib/mysql/128.000110 | mysql -u<user> -p<password> <databases>

       注意:恢复之前先在不使用的从机上做测试,测试成功后,再在主库上做。

限制

       该软件利用binlog中记录了操作前的数据镜像和操作后的数据镜像。有如下限制

1)        binlog_format=row

2)        只支持insert、update、delete

3)        不支持drop 、truncate、alter等ddl语句

结论

       flashback功能,可以在紧急情况下,避免用户漫长的数据库恢复过程。让高可用提升一个级别。

下载地址

  http://pan.baidu.com/s/1eQW9zSQ

如有疑问请联系微信:onesoft007

时间: 2024-12-11 15:53:08

mysqlbinlog flashback 5.6版本的相关文章

mysqlbinlog flashback 使用最佳实践

mysqlbinlog限制 该软件利用binlog中记录了操作前的数据镜像和操作后的数据镜像.有如下限制 1)binlog_format=row 2)必须打开binlog 3)只支持insert.update.delete 4)不支持drop .truncate.alter等ddl语句 特别说明:自带的mysqlbinlog 命令如果没有 -B 参数,则不可用于下面范例. 预备知识: egrep 参数: -i :忽略大小写. -C :后面的数字表示打印符合要求的行以及上下的行. insert范例

MySQL flashback 功能

1. 简介 mysqlbinlog flashback(闪回)用于快速恢复由于误操作丢失的数据.在DBA误操作时,可以把数据库恢复到以前某个时间点(或者说某个binlog的某个pos).比如忘了带where条件的update.delete操作,传统的恢复方式是利用全备+二进制日志前滚进行恢复,相比于传统的全备+增备,flashback显然更为快速.简单. 目前MySQL的flashback功能是利用binlog完成的,第一个实现该功能的是阿里云的彭立勋, 他在MySQL 5.5版本上就已实现,并

MySQL Flashback 闪回功能详解

阅读目录 1. 简介 2. 闪回原理 3. flashback安装 4. 使用简介 5. Flashback工具使用注意点 回到顶部 1. 简介 mysqlbinlog flashback(闪回)用于快速恢复由于误操作丢失的数据.在DBA误操作时,可以把数据库恢复到以前某个时间点(或者说某个binlog的某个pos).比如忘了带where条件的update.delete操作,传统的恢复方式是利用全备+二进制日志前滚进行恢复,相比于传统的全备+增备,flashback显然更为快速.简单. 目前My

Oracle10g 闪回数据库 (Flashback Database)

生产上要做灾备系统的应急切换演练,灾备端是由OGG搭建的.由于生产库都比较大10多T,不想演练后重新初始化灾备库,生产库版本为10.2.0.4,于是想到10g的新特性flashback database.演练开始前记录一个还原点,演练结束后闪回到这个还原点,重新同步ogg即可. 测试闪加数据库. 一.开启FLASHBACK DATABASE 数据库版本:10.2.0.4 启用FLASHBACK DATABASE数据库必须为ARCHIVELOG模式,还需要有一个闪回恢复区用于存储闪回日志,RAC中

MySQL 闪回工具MyFlash

一. 简介 背景:由于运维.开发误操作或是业务bug,我们在操作中时不时会出现误删除数据情况.早期要想恢复数据,只能让业务人员根据线上操作日志,构造误删除的数据,或者DBA使用binlog和备份的方式恢复数据,不管那种,都非常费时费力,而且容易出错. MyFlash是由美团点评公司技术工程部开发维护的一个回滚DML操作的工具.该工具通过解析v4版本的binlog,完成回滚操作.相对已有的回滚工具,其增加了更多的过滤选项,让回滚更加容易. 二. 恢复工具对比 1.mysqlbinlog工具配合se

关于MySql数据库误操作数据找回的办法

先讲个事,前段时间,系统长时间不用的一个功能被开放出来了,想当然的我没有在测试平台上测试,直接操作了正式系统(的确是我不严谨),导致好多数据异常,页面展示错乱了.于是我想到的第一个就是进行备份还原.项目进行了7天的备份,每天凌晨自动备份,但是凌晨到现在的数据就会丢失了,这可是重大问题啊.我顿时慌了,于是只能寻求DBA的帮助.这边省略五百字... 最后问题解决了,让我对数据恢复产生了兴趣,听DBA讲用的方法是Flashback闪回工具,也简单,于是我也自学了一下,这边做个介绍. flashback

8月17

在Oracle数据库中,有一种日志文件叫做重做日志文件,他就是大家俗称的:redolog.在redolog中又分为两种:在线重做日志与归档日志. ONLINE Redo log 在线重做日志(online redo log )主要用于:Oracle数据库所在服务器突然掉电.突然重启或者执行shutdown abort等命令使得在服务器重新启动之后,Oracle数据库没有办法正常的启动实例.此时,在线重做日志就派上了用场,Oracle会使用在线重做日志,把数据库恢复到服务器掉电前的那一个时刻,从而

Oracle purge 用法介绍

1.用途: 清除oracle 回收站(recyclebin)中的表和索引并释放与其相关的空间,还可清空回收站,或者清除表空间中记录的已删除的部分表空间. 注意:purge后不能回滚和恢复. 2.语法: 3.示例说明: 1)首先查一下回收站: SELECT * FROM RECYCLEBIN; 2)创建并删除同一表三次: --版本1 CREATE TABLE recycle_tmp(version NUMBER(10)); INSERT INTO recycle_tmp VALUES(1); CO

mysql 系列目录

从binlog恢复数据 1.MySQL 利用SQL线程对Binlog操作2.使用 row 格式 binlog 撤销操作 (./binlog_undo -f /data/mysql/log-bin.000004 -p 3958 -o binlog.out)3.mysqlbinlog flashback 5.6完全使用手册与原理限制该软件利用binlog中记录了操作前的数据镜像和操作后的数据镜像.有如下限制 1) binlog_format=row 2) 只支持insert.update.delet