ITPub博客

首页 > 数据库 > MySQL > Mysql update误操作恢复

Mysql update误操作恢复

原创 MySQL 作者:stephenjwq 时间:2018-12-12 15:36:00 0 删除 编辑

update忘加where条件误操作
从binlog找到那条语句:
[root@xxx]#/usr/local/mysql/bin/mysqlbinlog --no-defaults -v -v --base64-output=DECODE-ROWS mysq-bin.xxxx | grep -B 15 'failure' | more /*|*/;

导出binlog
[root@xxx]#/usr/local/mysql/bin/mysqlbinlog --no-defaults -v -v --base64-output=DECODE-ROWS mysq-bin.xxxx | sed -n '/# at 249/,/COMMIT/p' > /opt/1.txt

将binlog转换为sql语句
[root@xxx]#sed '/WHERE/{:a;N;/SET/!ba;s/\([^\n]*\)\n\(.*\)\n\(.*\)/\3\n\2\n\1/}' 1.txt
| sed -r '/WHERE/{:a;N;/@4/!ba;s/### @2.*//g}'
| sed 's/### //g;s/\/\*.*/,/g'
| sed '/WHERE/{:a;N;/@1/!ba;s/,/;/g};s/#.*//g;s/COMMIT,//g'
| sed '/^$/d' > ./recover.sql

mysql> source /opt/recovery.sql
mysql> select * from test;


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/9522838/viewspace-2284994/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: Mysql日期查询list
下一篇: Mysql导入&导出
请登录后发表评论 登录
全部评论
近10年工作经验,在汽车、钢铁、金融、航天等领域均有做运维&优化,期间还做过SAP BASIS,熟悉掌握Oracle、Linux、NBU、smartbi、Greenplum、mysql等技术

注册时间:2018-04-02

  • 博文量
    36
  • 访问量
    51473