my10_使用binlog2sql闪回DML操作

my10_使用binlog2sql闪回DML操作

下载
git clone https://github.com/danfengcao/binlog2sql.git

原理
使用python连接到指定的库,读取要恢复表的表结构和对应的binlog日志,在binlog 为row格式并且DML记录所有字段值的情况下,将set 与where后字段值对换位置,拼接成的SQL就是回滚SQL。

安装
unzip binlog2sql-master.zip
cd binlog2sql-master/
pip install -r requirements.txt

误操作
mysql -uautomng -p’Automng_123′ -P3319
update sbtest7 set pad=’wa ka ka ‘ where id=3;
update sbtest8 set pad=’wa ka ka ‘ where id=3;

mysql> show master status\G;
*************************** 1. row ***************************
File: mysql-bin.000035

# python binlog2sql.py -h127.0.0.1 -P3319 -uautomng -p'Automng_123' -dtxdb -t sbtest7 sbtest8 --start-file='mysql-bin.000035' --start-datetime='2018-08-01 15:50:00' --stop-datetime='2018-08-01 16:01:00'
UPDATE `txdb`.`sbtest7` SET `c`='39314051591-30329702885-35198042800-16393519874-56867884250-41805987558-63125675500-93376317385-90603675036-63992232134', `k`=149507, `pad`='wa ka ka', `id`=3 WHERE `c`='39314051591-30329702885-35198042800-16393519874-56867884250-41805987558-63125675500-93376317385-90603675036-63992232134' AND `k`=149507 AND `pad`='90728107484-01984250703-04244069858-02683578329-82506775849' AND `id`=3 LIMIT 1; #start 4 end 758 time 2018-08-01 16:00:12
UPDATE `txdb`.`sbtest8` SET `c`='22165230283-89382372870-64352117725-29359509089-24558560067-39564369546-34463527363-05997343623-26127428609-19766153460', `k`=202756, `pad`='wa ka ka', `id`=3 WHERE `c`='22165230283-89382372870-64352117725-29359509089-24558560067-39564369546-34463527363-05997343623-26127428609-19766153460' AND `k`=202756 AND `pad`='54879921302-82844293345-80647833951-55849410697-97809519145' AND `id`=3 LIMIT 1; #start 785 end 1393 time 2018-08-01 16:00:21

#start 4 end 758 time 2018-08-01 16:00:12
#start 785 end 1393 time 2018-08-01 16:00:21
# python binlog2sql.py --flashback -h127.0.0.1 -P3319 -uautomng -p'Automng_123' -dtxdb -t sbtest7 sbtest8 --start-file='mysql-bin.000035' --start-position=4 --stop-position=1393
UPDATE `txdb`.`sbtest8` SET `c`='22165230283-89382372870-64352117725-29359509089-24558560067-39564369546-34463527363-05997343623-26127428609-19766153460', `k`=202756, `pad`='54879921302-82844293345-80647833951-55849410697-97809519145', `id`=3 WHERE `c`='22165230283-89382372870-64352117725-29359509089-24558560067-39564369546-34463527363-05997343623-26127428609-19766153460' AND `k`=202756 AND `pad`='wa ka ka' AND `id`=3 LIMIT 1; #start 785 end 1393 time 2018-08-01 16:00:21
UPDATE `txdb`.`sbtest7` SET `c`='39314051591-30329702885-35198042800-16393519874-56867884250-41805987558-63125675500-93376317385-90603675036-63992232134', `k`=149507, `pad`='90728107484-01984250703-04244069858-02683578329-82506775849', `id`=3 WHERE `c`='39314051591-30329702885-35198042800-16393519874-56867884250-41805987558-63125675500-93376317385-90603675036-63992232134' AND `k`=149507 AND `pad`='wa ka ka' AND `id`=3 LIMIT 1; #start 4 end 758 time 2018-08-01 16:00:12

 

回滚
python binlog2sql.py –flashback -h127.0.0.1 -P3319 -uautomng -p’Automng_123′ -dtxdb -t sbtest7 sbtest8 –start-file=’mysql-bin.000035′ –start-position=4 –stop-position=1393 > /tmp/rollback.sql | cat
事务号一定要看清楚并写对了,如果……如果不小心写错了一位数,你可以想象一下后果……
mysql -uautomng -p’Automng_123′ -P3319 txdb < /tmp/rollback.sql

在尝试通过远程的方式操作时,失败了,不知是不支持远程还是哪里遇到了问题,正在排查中……如果不能通过远程的方式操作,那么就需要提前在服务器上安装这个脚本。

转载于:https://www.cnblogs.com/perfei/p/9402477.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/101511.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • PyYAML中文文档「建议收藏」

    PyYAML中文文档「建议收藏」PyYAML文档PyYAML现在维护在https://github.com/yaml/pyyaml。此页面仅用于历史目的。英文文档链接:http://pyyaml.org/wiki/PyYAMLDocumentation安装下载源码包PyYAML-3.12.tar.gz并解压缩。转到目录PyYAML-3.12并运行$pythonsetup….

    2022年8月30日
    2
  • xmind使用「建议收藏」

    基本简介XMINDXMind中文版是一款非常实用的商业思维导图软件,XMind应用先进的EclipseRCP软件架构,全力打造易用、高效的可视化思维软件,强调软件的可扩展、跨平台、稳定性和性能。XMIND能够协助用户快速捕捉创意与灵感,通过直观、友好的图形化操作界面,将思想、策略及商务信息转化为行动蓝图,全面提升企业办公效能。XMINDXMind基本功能头脑风暴XMIND头…

    2022年4月9日
    272
  • 一个低级的ORA-01017错误

    一个低级的ORA-01017错误事件缘由:使用sys账户创建了一个数据清理的存储过程,再创建一个Oraclejob定时运行这个存储过程,用于做表数据的清理。第二天看表数据未删除,说明job执行有错,打算使用sys账号登录查看job运行情况,反复输入sys账户信息,总提示ORA-01017,1.尝试改sys用户密码,重试报错依旧。2.使用sys登录GC,报错相同。使用普通用户登录正常。3.数据库服务器上使用sq

    2022年6月1日
    33
  • 一文说清楚pytorch和tensorFlow的区别究竟在哪里

    最近用了一点pytorch,想着稍稍理一下,这样一个和TensorFlow抗衡的一个框架,究竟是何方神圣?首先我们要搞清楚pytorch和TensorFlow的一点区别,那就是pytorch是一个动态的框架,而TensorFlow是一个静态的框架。何为静态的框架呢?我们知道,TensorFlow的尿性是,我们需要先构建一个TensorFlow的计算图,构建好了之后,这样一个计算图是不能够变的了…

    2022年4月5日
    99
  • Nginx服务器安装阿里云SSL证书教程[通俗易懂]

    Nginx服务器安装阿里云SSL证书教程[通俗易懂]Nginx配置SSL证书,大致分为5个步骤:步骤1:申请一张测试试用证书步骤2:下载证书并上传到服务器步骤3:在服务器配置证书步骤4(可选):配置HTTP强制跳转HTTPS步骤54:开放HTTPS访问及验证下面开始我们的配置步骤1:申请一张测试试用证书打开阿里云控制台官网,搜索SSL,点击进入SSL证书(应用安全)选择左侧SSL证书,点击免费证书点击立即购买,会弹出右侧购买栏,选择DV单域名证书【免费试用】,点击下方购买由于该证书限制只能有一个,所以接

    2022年10月3日
    3
  • LoadRunner11在Win10 下的激活成功教程解决办法(整合)

    LoadRunner11在Win10 下的激活成功教程解决办法(整合)1.loadrunner在win10中因管理员安装完成之后,进行激活成功教程会出现如下问题这是因为win10系统下,该程序没有用管理员方式运行2.然后我们用管理员方式运行,出现如下错误3.解决管理员组织的问题解决步骤:1》.进入”控制面板“–”用户账户“–”用户账户“,选择”更改用户账户控制设置“,选择最后一项,点击”确定“按钮,如下图:2》.按【win+R】快捷…

    2022年7月22日
    14

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号