前提条件:
mysql :data_row_format=row
mysql> show variables like '%image%';
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| binlog_row_image | FULL |
+------------------+-------+

实例操作过程=========================
create table student(id int,name varchar(20),class int ,score varchar(20));
insert into student values(1,'a',1,'failure');
insert into student values(3,'b',1,'failure'),(5,'c',2,'failure'),(7,'d',2,'failure');
insert into student values(9,'e',3,'failure'),(11,'f',3,'failure'),(13,'g',4,'failure');
insert into student values(15,'h',4,'failure');

mysql> select * from student;
+----+------+-------+---------+
| id | name | class | score |
+----+------+-------+---------+
| 1 | a | 1 | failure |
| 3 | b | 1 | failure |
| 5 | c | 2 | failure |
| 7 | d | 2 | failure |
| 9 | e | 3 | failure |
| 11 | f | 3 | failure |
| 13 | g | 4 | failure |
| 15 | h | 4 | failure |
+----+------+-------+---------+
8 rows in set (0.00 sec)

mysql>
mysql>
mysql>
mysql> update student set score=35;
Query OK, 8 rows affected (0.01 sec)
Rows matched: 8 Changed: 8 Warnings: 0

mysql>
mysql>
mysql> select * from student;
+----+------+-------+-------+
| id | name | class | score |
+----+------+-------+-------+
| 1 | a | 1 | 35 |
| 3 | b | 1 | 35 |
| 5 | c | 2 | 35 |
| 7 | d | 2 | 35 |
| 9 | e | 3 | 35 |
| 11 | f | 3 | 35 |
| 13 | g | 4 | 35 |
| 15 | h | 4 | 35 |
+----+------+-------+-------+
8 rows in set (0.00 sec)

------恢复步骤:
1) /usr/local/mysql/bin/mysqlbinlog -v -v --base64-output=decode-rows /data/mysql/3306/log/mysql-bin.000006 | grep -B15 -A 10 -i 'failure'
2) /usr/local/mysql/bin/mysqlbinlog -v -v --base64-output=decode-rows /data/mysql/3306/log/mysql-bin.000006 |sed -n '/# at 351/,/COMMIT/p' >/tmp/1.txt
3) 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
4)sed -i 's/@1/id/g;s/@2/name/g;s/@3/class/g;s/@4/score/g' recover.sql
5) sed -i -r 's/(score=.*),/\1/g' recover.sql
6) mysql > source </tmp/recover.sql

mysql update 忘加 where 文件恢复的更多相关文章

  1. delete、update忘加where条件误操作恢复过程演示

    update.delete没有带where条件,误操作,如何恢复呢? 我现在有一张学生表,我要把小于60更新成不及格. mysql> select * from student; +----+- ...

  2. MySQL 误删数据、误更新数据(update,delete忘加where条件)

    MySQL 误操作后数据恢复(update,delete忘加where条件) 关键词:mysql误删数据,mysql误更新数据 转自:https://www.cnblogs.com/gomysql/p ...

  3. MySQL 误操作后数据恢复(update,delete忘加where条件)

    在数据库日常维护中,开发人员是最让人头痛的,很多时候都会由于SQL语句写的有问题导致服务器出问题,导致资源耗尽.最危险的操作就是在做DML操作的时候忘加where条件,导致全表更新,这是作为运维或者D ...

  4. MySQL 误操作后数据恢复(update,delete忘加where条件)【转】

    在数据库日常维护中,开发人员是最让人头痛的,很多时候都会由于SQL语句 写的有问题导致服务器出问题,导致资源耗尽.最危险的操作就是在做DML操作的时候忘加where条件,导致全表更新,这是作为运维或者 ...

  5. Linux 上通过binlog文件 恢复mysql 数据库详细步骤

    一.binlog 介绍 服务器的二进制日志记录着该数据库的所有增删改的操作日志(前提是要在自己的服务器上开启binlog),还包括了这些操作的执行时间.为了显示这些二进制内容,我们可以使用mysqlb ...

  6. MySQL 利用frm文件和ibd文件恢复表结构和表数据

    文章目录 frm文件和ibd文件简介 frm文件恢复表结构 ibd文件恢复表数据 通过脚本利用ibd文件恢复数据 通过shell脚本导出mysql所有库的所有表的表结构 frm文件和ibd文件简介 在 ...

  7. MYSQL数据库根据data文件中的.frm和ibd文件恢复单表数据

    数据库误操作,把表的字段删除了,关键是被删除的字段的数据很重要,现在想要恢复数据,下面说说是怎么操作的. 数据库只剩.frm和.ibd文件了,按照网上的做法分如下两步来进行:一.找回表结构,二.找回数 ...

  8. MySQL innodb引擎下根据.frm和.ibd文件恢复表结构和数据

    记录通过.frm和.ibd文件恢复数据到本地 .frm文件:保存了每个表的元数据,包括表结构的定义等: .ibd文件:InnoDB引擎开启了独立表空间(my.ini中配置innodb_file_per ...

  9. 利用日志文件恢复MYSQL数据库

    利用日志文件恢复MYSQL数据库 650) this.width=650;" onclick='window.open("http://blog.51cto.com/viewpic ...

随机推荐

  1. [转]Skynet之斗转星移 - 将控制权交给Lua

      Skynet之斗转星移 - 将控制权交给Lua http://www.outsky.org/code/skynet-lua.html Sep 7, 2014 在我看来,Skynet的一个重要优势是 ...

  2. Javascript class获取回调函数数据

    /********************************************************************** * Javascript class获取回调函数数据 * ...

  3. golang 六宫格、九宫格头像生成

    图片示例就不传了,在原WordPress上. //Merge6Grid 6宫格 //rule NO1:至少3张图 最多6张图 // NO2:第一张大小 60*60 其他大小 28*28 间隔4px 合 ...

  4. 如何解决VMware 12 安装Ubuntu 16.04时无网络连接问题

    刚安装玩Ubuntu,打开后上网没有网络连接 ,点击右上角的数据连接,显示已经启动联网,但是用火狐还是无法上网: 解决方法如下: 先查看虚拟机的网络适配器:点击虚拟机左上角的编辑,里面有个网络适配器 ...

  5. 第一天 hello world

    二进制编译工具生成img软盘执行文件 二进制编译工具https://pan.baidu.com/s/1j3wAsFxTLWv17V55iNKJJw 利用Bz.exe工具写操作系统自启程序: 前0000 ...

  6. ubuntu软件管理

    https://www.cnblogs.com/forward/archive/2012/01/10/2318483.html 一.Ubuntu中软件安装方法1.APT方式(联网安装, 需要联网下载软 ...

  7. CentOS7安装备忘

    ======1 下载CentOS镜像文件:https://www.centos.org/download/http://isoredirect.centos.org/centos/7/isos/x86 ...

  8. java exception 01

    问题:java.util.concurrentmodificationexception 背景:java thread 网上找到的出现的例子如下(项目中真实的code不便给出) public clas ...

  9. mysql插入操作跳过(ignore)、覆盖(replace into)、更新(on duplicate key)

    原帖地址:http:.html .insert ignore into 当插入数据时,如出现错误时,如重复数据,将不返回错误,只以警告形式返回.所以使用ignore请确保语句本身没有问题,否则也会被忽 ...

  10. spring+springMVC,声明式事务失效,原因以及解决办法

    http://blog.csdn.net/z69183787/article/details/37819627#comments 一.声明式事务配置: <bean id="transa ...