使用mysqlbinlog_flashback工具的详细步骤
admin
2023-05-16 17:42:13
0

下文主要给大家带来使用mysqlbinlog_flashback工具的详细步骤,希望这些内容能够带给大家实际用处,这也是我编辑使用mysqlbinlog_flashback工具的详细步骤这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。

一、下载安装

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

工具相关使用参数:

[root@ops-db-test01 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 hh34: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 hh34: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的内容。

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

对于以上关于使用mysqlbinlog_flashback工具的详细步骤,大家是不是觉得非常有帮助。如果需要了解更多内容,请继续关注我们的行业资讯,相信你会喜欢上这些内容的。

相关内容

热门资讯

天然气灶不打火怎么回事 可能由以下原因导致天然气灶不打火:1、燃气阀门未开启:检查气阀是否处于关闭状态。2、灶具没有点火:可...
空调遥控器按开关没反应 原因可能是遥控器里面的发光管损坏,导致屏幕不显示,可以维修或更换遥控器解决;原因可能是遥控器的红外发...
油烟机开关按了没反应 油烟机开关按了没反应油烟机开关按了没反应的原因有可能是开关按钮损坏;电源接头没有连接;电路板损坏、传...
马桶水箱按钮按不动 有因有:马桶按钮内的弹簧生锈老化;出水阀被泥沙等杂物卡住;水漂卡住了。需打开马桶水箱看看联动冲水阀连...
德意油烟机按不动怎么办 如果德意油烟机按不动,首先需要确认是否是电源问题。你可以检查油烟机的插头是否插紧了,插座是否正常工作...
台湾民众党已不是一人政党!柯文... 海峡导报综合报道 台湾民众党2日举办7周年党庆,创党主席柯文哲上台致辞时获得在场人士欢呼,声音久久不...
男子买到破损游泳“跟屁虫”,退... “几十块钱的东西还保你啥子命?这就是一个玩具!”7月22日,成都市民李先生向红星新闻反映,自己周末准...
主动亮剑、硬刚苹果!华为用实际... 九月发布,硬刚iPhone 18!这个消息确实让我内心一震!要问这个手机是什么?很明显就是华为Mat...
五大科技城市排名出炉,深圳为何... 提到中国科技城市,很多人第一反应就是北京、上海、深圳。这个印象并不奇怪,毕竟一线城市集中了高校、资本...
马斯克怒斥“AI焚书”!为了领... 声明:本文内容均是根据权威资料,结合个人观点撰写的原创内容,文末已标注文献来源,请知悉。 在这个科...