用途:

1、数据快速回滚
2、从binlog生成标准sql

使用限制:

1、必须设置binlog_format=ROW
2、binlog_row_image=full,该参数默认为FULL
3、恢复用户拥有的最小权限集合为:select, super/replication client, replication slave
建议授权GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO
权限说明select:需要读取server端information_schema.COLUMNS表,获取表结构的元信息,拼接成可视化的sql语句super/replication client:两个权限都可以,需要执行'SHOW MASTER STATUS', 获取server端的binlog列表replication slave:通过BINLOG_DUMP协议获取binlog内容的权限

1、下载安装

git clone https://github.com/danfengcao/binlog2sql.git
wget https://bootstrap.pypa.io/get-pip.py --no-check-certificate
python get-pip.py
cd binlog2sql
pip install –r requirements.txt

2、使用说明

mysql连接配置
-h host:数据库地址
-P port:数据库端口
-u user:数据库连接用户
-p password:数据库连接密码解析模式
--stop-never 持续解析binlog。可选。默认False,同步至执行命令时最新的binlog位置。-K, --no-primary-key 对INSERT语句去除主键。可选。默认False。-B, --flashback 生成回滚SQL,可解析大文件,不受内存限制。可选。默认False。与stop-never或no-primary-key不能同时添加。--back-interval -B模式下,每打印一千行回滚SQL,加一句SLEEP多少秒,如不想加SLEEP,请设为0。可选。默认1.0。解析范围控制--start-file 起始解析文件,只需文件名,无需全路径 。必须。--start-position/--start-pos 起始解析位置。可选。默认为start-file的起始位置。--stop-file/--end-file 终止解析文件。可选。默认为start-file同一个文件。若解析模式为stop-never,此选项失效。--stop-position/--end-pos 终止解析位置。可选。默认为stop-file的最末位置;若解析模式为stop-never,此选项失效。--start-datetime 起始解析时间,格式'%Y-%m-%d %H:%M:%S'。可选。默认不过滤。--stop-datetime 终止解析时间,格式'%Y-%m-%d %H:%M:%S'。可选。默认不过滤。对象过滤-d, --databases 只解析目标db的sql,多个库用空格隔开,如-d db1 db2。可选。默认为空。-t, --tables 只解析目标table的sql,多张表用空格隔开,如-t tbl1 tbl2。可选。默认为空。--only-dml 只解析dml,忽略ddl。可选。默认TRUE。--sql-type 只解析指定类型,支持INSERT, UPDATE, DELETE。多个类型用空格隔开,如--sql-type INSERT DELETE。可选。默认为增删改都解析。用了此参数但没填任何类型,则三者都不解析。

3、优缺点
3.1、限制(对比mysqlbinlog)

mysql server必须开启,离线模式下不能解析
参数 binlog_row_image 必须为FULL,暂不支持MINIMAL
解析速度不如mysqlbinlog

3.2、优点(对比mysqlbinlog)

纯Python开发,安装与使用都很简单
自带flashback、no-primary-key解析模式,无需再装补丁
flashback模式下,更适合闪回实战
解析为标准SQL,方便理解、筛选
代码容易改造,可以支持更多个性化解析

4、使用参考

python binlog2sql.py -hlocalhost -P3306 -uroot -p -dowms-hh --start-file='master-bin.000011' --start-datetime='2017-12-25 11:47:51' --stop-datetime='2017-12-25 11:47:58' -B > /data/t_rollback.sql

转载于:https://www.cnblogs.com/crysmile/p/9471645.html

binlog2sql闪回恢复数据相关推荐

  1. oracle10g闪回恢复数据表

    今天早晨8点多接到一个电话,是前任公司的老总的:迷迷糊糊的听他说,有人昨晚21点多误操作数据库,用update 更改表的数据,而没有加where条件,致使整个表都被更改了,让我帮他恢复下,毕竟曾经工作 ...

  2. mysql binlog2sql闪回数据

    利用binlog2sql快速闪回误删除数据 - 别拿豆包不当干粮 转原文地址: http://blog.51cto.com/sumongodb/2046073?cid=699139 各位兄弟们,好久不 ...

  3. 闪回恢复区 (Flash Recovery Area)

    在oracle 9i中引入flashback查询,以便能在需要的时候查到过去某个时刻的一致性数据,依赖于undo表空间存储的信息来闪回查询以前的版本,当然这个受限于undo表空间的大小,以及保留策略. ...

  4. Oracle数据库中闪回恢复的详细分析

    Oracle9i开始提供闪回查询,以便能在需要的时候查到过去某个时刻的一致性数据,这是通过Undo实现的.这个功能有很大的限制,就是相关事务的undo不能被覆盖,否则就无力回天了.oracle10g大 ...

  5. oracle有人用过fra吗,FRA(闪回恢复区)

    1.闪回恢复区简介 闪回恢复区可以集中存储所有与恢复相关的文件.FRA可以使用本地附加的存储.Oracle的群集文件系统(Cluster File System,简写为OCFS)或Oracle 10g ...

  6. Oracle闪回恢复区(fast recovery area,FRA)

    Oracle闪回恢复区(fast recovery area,FRA) 闪回恢复区(Fast Recovery Area,FRA)是一块可选的磁盘位置,可以用来存储与恢复相关的文件,例如控制文件和联机 ...

  7. oracle能闪回多久,利用ORACLE的闪回功能恢复数据

    利用ORACLE的闪回功能恢复数据 一. 闪回表数据 从9i开始,Oracle提供了闪回(FLASHBACK)功能.使用FLASHBACK TABLE语句从撤消段中(undo segment)读取该表 ...

  8. oracle rac 快速闪回区 路径,oracle 10g rac配置闪回恢复区 开启归档

    DBCA创建数据库的时候,默认是不使用flash_recovery_area,不开启归档的. 本文以2个节点的rac为例,所阐述的内容是在新建数据库后,如何设置闪回恢复区,如何开启归档,设置归档路径. ...

  9. mysql 闪回_MySQL数据误删除的快速解决方法(MySQL闪回工具)

    概述 Binlog2sql是一个Python开发开源的MySQL Binlog解析工具,能够将Binlog解析为原始的SQL,也支持将Binlog解析为回滚的SQL,去除主键的INSERT SQL,是 ...

最新文章

  1. Java中的string定义的两种方法和区别
  2. Coolite Toolkit学习笔记系列文章
  3. java8日期转时间戳_Java 8日期和时间
  4. java中asl_带你认识绕不开的ASLR
  5. 【英语学习】【WOTD】substantive 释义/词源/示例
  6. nginx react vue location history 配置
  7. linux下更新JDK版本
  8. 【?异或】LeetCode 260. Single Number III
  9. mosse(Minimizing the Output Sum of Squared Error)论文解读
  10. 收藏:常见物联网通信技术概览
  11. xshell修改linux编码,xshell更改字符编码,xshell系统设置中文乱码怎么解决
  12. 74151/74LS151 8选1数据选择器
  13. VMS-B230/260如何登录存储控制器
  14. HTV-VIVE 连接 PC端 720云
  15. 渗透测试RECON-NG介绍
  16. 阻塞(blockage)设置优化——Hard,Soft,Partial
  17. 静态时序分析—串扰延迟分析(Crosstalk Delay Analysis)
  18. OneNote用完画笔怎么从绘图模式回到打字模式
  19. 外骨骼机器人(一):Lokomat核心技术简介
  20. [C#] 调用MATLAB(Matlab COM接口) (一)调用函数

热门文章

  1. Linux全攻略--Apache服务器配置与管理(三)
  2. 密码破解之Esxi重置root密码
  3. 数组元素在删减的同时进行遍历的操作,程序崩溃问题
  4. Guest与virtio netdev交互模式
  5. AnyChat视频直播系统全面分析
  6. (分治)分治法 及 题目
  7. PAT 1088 三人行(20 分)- 乙级
  8. 蓝桥杯 BASIC-20 基础练习 数的读法 问题
  9. mysql io队列_网易视频云经验分享MYSQL 5.5 的IO控制
  10. c语言检查tcp连接_TCP/IP的底层队列