-------------------------误update数据恢复

1。根据set值查找日志路径

/opt/local/mysql/bin/mysqlbinlog --no-defaults -v -v --base64-output=DECODE-ROWS mysql-bin.000002|grep -B 15 'myy'|more /*/;

2.创建文本

touch update.txt;

3.输出日志到文本文件中

/opt/local/mysql/bin/mysqlbinlog --no-defaults -v -v --base64-output=DECODE-ROWS mysql-bin.000002|sed -n '/# at 5980/,/COMMIT/p'>/opt/update.txt

注:at 5980 为update日志开始位置。这个需要先找到日志中误update的日志内容分析。

4.将binlog转换成SQL语句。

sed '/WHERE/{:a;N;/SET/!ba;s/()n(.)n(.)/3n2n1/}' /opt/update.txt|sed -r '/WHERE/{:a;N;/@3/!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

注:a.@3为最后一个变量。如果有20个变量,则此处为@20。

b.### @2 此处#与@之前空格数为3个,不能多不能少。

5.将@变量更换为相应字段名

sed -i 's/@1/id/g;s/@2/name/g;s/@3/age/g' recover.sql;

6.将set后面where前面最后一个变量后的逗号去掉。

sed -i -r 's/(age=.*),/1/g' recover.sql

7.将recover.sql在mysql命令行执行,数据即可恢复。

n ↩

mysql的update怎么恢复_mysql误update数据恢复相关推荐

  1. mysql+误操作怎么恢复_MySQL 误操作后如何快速恢复数据

    传统解法 用全量备份重搭实例,再利用增量binlog备份,恢复到误操作之前的状态.然后跳过误操作的SQL,再继续应用binlog.此法费时费力,不值得再推荐. 利用binlog2sql快速闪回 首先, ...

  2. mysql数据库怎么冷备份恢复_MySQL数据库的备份与恢复

    一.数据备份的重要性 在生产环境中,数据的安全性至关重要 任何数据的丢失都可能产生严重的后果 造成数据丢失的原因 ·程序错误 ·人为操作错误 ·运算错误 ·磁盘故障 ·灾难(如火灾.地震等) 二.数据 ...

  3. mysql+误操作怎么恢复_Mysql误操作恢复流程

    一.开启binlog. show variables like 'log_bin'; #vim  /etc/my.cnf 在[mysqld]中加入 log-bin                 =  ...

  4. mysql update锁表_MySQL执行update语句是锁行还是锁表分析

    我们在数据库执行update语句的时候,到底是锁表还是锁行?这里直接用MySQL上例子测试下. 一.环境准备 1.新建一个表create table test_update( id BIGINTnot ...

  5. mysql current_timestamp 不自动更新_MySQL ON UPDATE CURRENT_TIMESTAMP不更新

    我有一张桌子,看起来像这样: CREATE TABLE IF NOT EXISTS `Hosts` ( `id` int(128) NOT NULL AUTO_INCREMENT, `IP` varc ...

  6. mysql根据bin log恢复_MySQL 通过 binlog 恢复数据

    目的 通过了解 binlog 日志的相关配置,简单掌握通过 binlog 对数据库进行数据恢复操作: mysql 日志文件 任何成熟软件都会有一套成熟的日志系统,当软件出现问题时,这些日志就是查询问题 ...

  7. mysql数据库undo日志恢复_MySQL的undo/redo日志和binlog日志,以及2PC

    发现自己的知识点有点散,今天就把它们连接起来,好好总结一下. 一.undo log.redo log.binlog的定义和对比 定义和作用 所在架构层级 日志形式 所在文件和默认名称,组织结构 是否缓 ...

  8. mysql 清空表怎么恢复_mysql怎么恢复删除的表?mysql找回误删表的数据方法

    下面小编就为大家带来一篇mysql 找回误删表的数据方法(必看).小编觉得挺不错的,现在就分享给大家,也给大家做个参考.一起跟随小编过来看看吧. 有备份的话很简单,只需要生成一个最近备份的数据,然后用 ...

  9. mysql几种备份恢复_mysql多种备份与恢复方式一

    通过binlog时间区间/偏移量进行恢复 mysqlbinlog [选项] binlog日志文件名 | mysql -uroot -p 选项 --start-datetime="yyyy-m ...

  10. mysql未开启binlog恢复_mysql 开启binlog,并恢复数据操作

    binlog是二进制日志文件,用于记录mysql的数据变更,数据在恢复的时候binlog日志能起到很大的作用.mysql的主从复制就是利用的binlog原理 本文目录 一.开启binlog 二.测试数 ...

最新文章

  1. 【VS开发】Wix 安装教程
  2. RocketMQ错误消息重试策略之重试情况的分析
  3. 计算机专业单元测试卷答案,银保监会考试题库:计算机类模拟试题练习(六)答案...
  4. 剑指offer之二叉树的镜像
  5. mybatis plus关联查询_Mybatis 和 Hibernate 持久层框架之间的区别是啥?
  6. 话说P2P理财纷纷暴雷之后,那些投资者的钱去了哪里?
  7. 使用queryperf对DNS服务器作压力测试
  8. linux的forx函数-进程控制
  9. DPS软件做MK(Mann-Kendall)突变监测分析方法(附DPS 7.05软件下载地址)
  10. Tomcat下载及配置(IDEA)
  11. html白色背景遮罩,CSS 给图片或背景图片加颜色遮罩
  12. CleanMyMac最新破解安装版
  13. 有一种伪仪式感,叫“中国式旅行”
  14. Vue2项目使用mars3d
  15. java打印超市消费小票_Java-超市购物小票案例-详细介绍
  16. STK。如何规定“视线”的范围
  17. Docker-compose 启动报错:Pool overlaps with other one on this address space
  18. 计算机中常用于比较的图表有,2013年职称计算机Excel考点:常用图表类型
  19. git remote prune
  20. KVM远程迁移启动报错

热门文章

  1. 朋友,谁会Symbian S40 Symbian S60 v3/v5 Android?
  2. Android项目报错:Could not resolve com.android.support.constraint:constraint-layout:2.0.2.
  3. IP数据包格式、ICMP、ARP
  4. 常用的jar包下载网站(自用)
  5. 使用wav2sbc.exe无法转换WAV文件问题
  6. 仿迅雷播放器教程 -- 媒体播放器对比 (2)
  7. 记一次Win7连接XP共享打印机
  8. java留言板源码_jsp留言板示例源码下载(入门级)
  9. 千方百剂创建账套服务器文件,千方百剂辅助工具使用手册(图解).doc
  10. 小韦XPSP3 V10.0_Ghost精简版