mysqlbinlog_flashback工具体验

一、下载安装

# wget https://github.com/58daojia-dba/mysqlbinlog_flashback/archive/master.zip

工具相关使用参数:

[[email protected] mysqlbinlog_flashback-master]# python mysqlbinlog_back.py --help
===log will also  write to .//mysqlbinlog_flashback.log===
Usage: python mysqlbinlog_back.py [options]
sample1:python  mysqlbinlog_back.py --host="127.0.0.1" --username="root" --port=43306 --password="" --schema=test --table="test5"
sample2:python mysqlbinlog_back.py --host="127.0.0.1" --username="root" --port=43306 --password="" --schema=test --table="test5,test6" --binlog_end_time="2016-11-05 11:27:13" --binlog_start_file_name="mysql-bin.000024"  --binlog_start_file_position=4 --binlog_start_time="2016-11-04 11:27:13"  --skip_delete  --skip_insert --add_schema_name
sample3:python mysqlbinlog_back.py  --host="127.0.0.1" --username="root" --port=43306 --password="" --schema=test --table="test5,test6" --binlog_start_file_name="mysql-bin.000022"

Options:
  -h, --help            show this help message and exit
  -H HOST, --host=HOST  mandatory,mysql hostname
  -P PORT, --port=PORT  mysql port,default 3306
  -u USERNAME, --username=USERNAME
                        mandatory,username
  -p PASSWORD, --password=PASSWORD
                        password
  -s SCHEMA, --schema=SCHEMA
                        mandatory,mysql schema
  -t TABLES, --tables=TABLES
                        mandatory,mysql tables,suport multiple tables,use
                        comma as separator
  -N BINLOG_END_TIME, --binlog_end_time=BINLOG_END_TIME
                        binlog end time,format yyyy-mm-dd hh24:mi:ss,default
                        is current time
  -S BINLOG_START_FILE_NAME, --binlog_start_file_name=BINLOG_START_FILE_NAME
                        binlog start file name,default is current logfile of
                        db
  -L BINLOG_START_FILE_POSITION, --binlog_start_file_position=BINLOG_START_FILE_POSITION
                        binlog start file name
  -E BINLOG_START_TIME, --binlog_start_time=BINLOG_START_TIME
                        binlog start time,format yyyy-mm-dd hh24:mi:ss
  -l OUTPUT_FILE_PATH, --output_file_path=OUTPUT_FILE_PATH
                        file path that sql generated,,default ./log
  -I, --skip_insert     skip insert(WriteRowsEvent) event
  -U, --skip_update     skip update(UpdateRowsEvent) event
  -D, --skip_delete     skip delete(DeleteRowsEvent) event
  -a, --add_schema_name
                        add schema name for flashback sql
  -v, --version         version info

二、模拟误操作情况

1、批量删除操作

delete未加where条件,全表删除,此时表还有写入操作。

# python mysqlbinlog_back.py  --host="localhost" --username="" --port=3306 --password="" --schema=cy --table="obd_wave" --binlog_start_file_name="mysqlbinlog.000002" --binlog_start_time="2017-08-02 20:10:00"

log目录下生成三个文件

# ll -sh
13M -rw-r--r-- 1 root root  13M Aug  2 20:38 flashback_cy_20170802_203747.sql    //反向sql
4.0K -rw-r--r-- 1 root root 2.6K Aug  2 20:38 save_data_create_table_cy_20170802_203747.sql
 29M -rw-r--r-- 1 root root  29M Aug  2 20:38 save_data_dml_cy_20170802_203747.sql

找到删除开始和结束的位置。

执行命令

# python mysqlbinlog_back.py  --host="localhost" --username="" --port=3306 --password="" --schema=cy --table="obd_wave" --binlog_start_file_name="mysqlbinlog.000002" --binlog_start_time="2017-08-02 20:10:00" --binlog_start_file_position=9664085

手动删除,误操作之后的反向sql的内容。

--缺点:只能指定开始的位置,不能指定结束的位置及时间。

时间: 2024-08-11 03:28:15

mysqlbinlog_flashback工具体验的相关文章

载]mysqlhotcopy 热备工具体验与总结

载]mysqlhotcopy 热备工具体验与总结 今天有空尝试了一下MYSQLHOTCOPY这个快速热备MYISAM引擎的工具.(本文是针对单个服务器的情况,以后将会加入多服务器相关操作)他和MYSQLDUMP的比较:1.前者是一个快速文件意义上的COPY,后者是一个数据库端的SQL语句集合.2.前者只能运行在数据库目录所在的机器上,后者可以用在远程客户端.3.相同的地方都是在线执行LOCK TABLES 以及 UNLOCK TABLES4.前者恢复只需要COPY备份文件到源目录覆盖即可,后者需

【Microsoft Edge中新的F12开发者工具】

微软宣布Microsoft Edge将成为新web浏览器的正式名称,他将取代Internet Explorer 11的地位.Edge之前被称为Project Spartan,它将努力争取在现代web的舞台上成为一个有力的竞争力.作为新浏览器计划的一部分,Edge带来了一个全功能的开发者工具体验.来自微软的Andy Sterland在Build 2015大会上介绍了Edge中新的F12开发者工具 中的某些特性. 在Sterland的演讲"Microsoft Edge[即原来所知的Project S

2018年网友说最好用的设计工具都有哪些?

软件对于设计师的作用,就如同用筷子子吃饭,无器不成术.这些实用的好工具,间接性的让我们的工作效率蹭蹭猛涨. 一. Adobe CC 2019 全家桶 软件王者, Adobe CC 2019 当之无愧. 在今年 10 月份的 Adobe Max 大会上,官方宣布 Photoshop CC,Lightroom CC,Illustrator CC,InDesign CC,Premiere Pro CC 和 Adobe XD 将进行重大更新. 对于 PS/AI 等使用频率与微信持平的软件,无论出什么新功

小萌新云主机面板体验大比拼

本人小白,最近使用着几款云主机管理工具体验,针对管理云主机工具体验作出对比.此文旨在一来给诸位小白劈斧开山(老技术员可以绕路了),二来作为自己花了那么多时间的记录分享. 本文可以理解为从一个萌新的角度对云主机管理工具的体验对比. 为什么找云主机管理工具? 找管理工具管理主机.站点和安装会便捷很多.可想而知,有工具软件能用的肯定能代替部分重复搬砖工作. 找了挺多的工具软件的,各家法宝都不一样,而且部分内容了解不是很深入,这里只作为一个小白自己整理的对比工具来看.了解不足或者片面,欢迎评论指出 因为

基于TrafficServer实现的FLV流媒体插件

继一周多以前在github上发布了基于trafficserver的mp4流媒体插件之后,这两天刚刚又把FLV流媒体插件弄了一下,相对于MP4文件来说,FLV的处理简单多了,在跳转时只需要把文件的前后拼接成新的文件输出即可. 之前看过Nginx官方的flv插件的实现,那个是基于偏移量进行跳转的,没有什么实际参考价值,因为像优酷这类的视频网站在播放FLV格式的视频时都是基于时间进行跳转的.基于TrafficServer实现的FLV插件代码地址如下: https://github.com/portl4

闪电精灵SEO 打破百度快速排名规则

我们许多站长们都是每天为了自己网站的排名操碎了心,然而纵使每天苦逼的更新网站,做外链,排名未必上得去,度娘总是不给面子,排名优化做的太慢.但是你可知道有一种方法能够在7-30天内快速提高网站排名吗?或者听说过但不会做? 百度快速排名原理 快速排名,顾名思义,就是利用某些搜索引擎的算法以及特点对优化的网站进行特殊的优化操作,在短时间内达到排名迅速上升的目的.是根据搜索引擎的一系列算法,提升优化网站用户体验,使搜索引擎认为这是一个很受欢迎的站点,达到快速排名效果. 真的可以做到7天快速排名吗? 这也

compiler

http://www.lingcc.com/2012/05/16/12048/ a list of compiler books — 汗牛充栋的编译器参考资料 Posted on 2012年5月16日 by Lingcc | 14 Replies 前不久,有位<编译点滴>网友询问编译器方向的参考资料.其实之前讨论过一些编译器相关的在线资料–<有写编译器的冲动?这些资料很重要>.这篇博文就来总结总结编译技术相关的各类图书资料,供各位参考.这个书列是结合本人所了解的内容整理出来的,限于

有感 Visual Studio 2015 RTM 简介 - 八年后回归 Dot Net,终于迎来了 Mvc 时代,盼走了 Web 窗体时代

有感 Visual Studio 2015 RTM 简介 - 八年后回归 Dot Net,终于迎来了 Mvc 时代,盼走了 Web 窗体时代 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. 关于

基于TrafficServer实现的MP4流媒体插件

近期一直关注在流媒体视频格式的技术中, 在翻阅了一些关于MP4视频格式的说明之后, 决定用TrafficServer的插件来实现一个MP4流媒体点播插件, 在编写过程中参考了Nginx官方的mp4的实现代码. 基于TrafficServer实现的mp4插件代码地址如下: https://github.com/portl4t/ts-mp4 访问mp4的视频时,视频的跳转通过请求URL中的start参数来体现, 比如http://192.168.131.128:8080/video/dota2.mp