提示:建议每次对数据库进行修改时都做下备份

注意:以下Mysql开启的是row格式的binlog日志,确定到误操作具体时间可能有些麻烦,默认的格式就能很快找出来。这里开启row的原因是还有一种更快的方法实现误操作数据回滚(binlog2sql工具或用python脚本生成反向sql语句),以下介绍的为最常规方法。

1.发现生产主页打不开,并确定是数据库误操作更新了某个表格引起,大概误操作时间为2018-04-03 15:49——2018-04-03 15:55(每次数据库操作前都通过脚本进行了备份,记录的备份时间后面一段大概就是误操作时间,此处备份时间在15:48)

2.vim /etc/my.cnf 注释binlog日志,防止数据恢复时再次被记录

#binlog_do_db=xxx
#max_binlog_size = 100M
#binlog_format = row
#binlog_row_image = full

3.先恢复误操作之前的备份xx.sql

mysql -uroot -p  -S /var/lib/mysql/mysql.sock <xxx.sql

4.导出当前binlog日志以便确定具体误操作时间

mysqlbinlog --start-datetime='2018-04-03 15:49:00' --stop-datetime='2018-04-03 15:55:00' mysql-bin. >test.txt

5.vim test.txt 确认具体误操作位置时间(红色部分)

# at
# :: server id end_log_pos CRC32 0x1b094e96 Table_map: `xxx`.`xxx` mapped to number
# at
# :: server id end_log_pos CRC32 0xa5ba6d25 Update_rows: table id flags: STMT_END_F BINLOG '
NTLDWhMBAAAAMgAAAPIAAAAAAEYAAAAAAAEABHNwMnAABHRlc3QAAgMPAi0AA5ZOCRs=
NTLDWh8BAAAAOQAAACsBAAAAAEYAAAAAAAEAAgAC///8AwAAAAVkYW5uefwDAAAABGxvbmclbbql
'/*!*/;
# at
# :: server id end_log_pos CRC32 0xad17ed0c Xid =
COMMIT/*!*/;
# at
# :: server id end_log_pos CRC32 0x6a703d5a Query thread_id= exec_time= error_code=
SET TIMESTAMP=/*!*/;

6.恢复binlog增量记录部分(15:50:13为误操作时间,从15:51:05开始为后续正常操作),增量恢复分两个部分,15:48:00——15:50:05(日志上看误操作之前最新数据时间)和15:51:00——现在

mysqlbinlog --start-datetime='2018-04-03 15:48:00'  --stop-datetime='2018-04-03 15:51:05'  mysql-bin.000xxx |mysql -uroot -p

mysqlbinlog --start-datetime='2018-04-03 15:51:00' mysql-bin.000xxx |mysql -uroot -p

7.确认数据恢复情况,重新开启binlog日志再重启Mysql

记一次生产mysql数据误操作恢复过程的更多相关文章

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

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

  2. 背景:表A数据误操作,被delete了,恢复。

    SELECT MAX(Scn) FROM Sys.Smon_Scn_Time WHERE Time_Dp < TO_DATE('2015-09-18', 'YYYY/MM/DD') select ...

  3. MySQL 数据表操作

    MySQL 数据表操作 创建MySQL数据表需要以下信息: -表名: -表字段名: -定义每个表字段: 一.创建数据表 1)mysql> create  table  table_name (c ...

  4. mysql 数据表操作 目录

    mysql 数据表操作 存储引擎介绍 mysql 使用存储引擎 mysql 数据表的增删改查 mysql 数据类型 mysql 约束条件

  5. 数据库周刊28│开发者最喜爱的数据库是什么?阿里云脱口秀聊程序员转型;MySQL update误操作;PG流复制踩坑;PG异机归档;MySQL架构选型;Oracle技能表;Oracle文件损坏处理……

    热门资讯 1.Stackoverflow 2020年度报告出炉!开发者最喜爱的数据库是什么?[摘要]2020年2月,近6.5万名开发者参与了 Stackoverflow 的 2020 年度调查,这份报 ...

  6. mysql数据表操作&库操作

    首先登陆mysql:mysql -uroot -proot -P3306 -h127.0.0.1 查看所有的库:show databases; 进入一个库:use database; 显示所在的库:s ...

  7. mongo 误操作恢复数据

    场景:我往同一个集合里面插入 三条数据  aa:aa  bb:bb  cc:cc .后来我后悔了,不想插入 bb:bb,通过oplog重放过滤好 bb:bb这条数据. 原理: 1.通过 oplog.r ...

  8. 数据误操作,删库跑路?教你使用ApexSQLLog工具从 SQLServer日志恢复数据!

    前几天同事不小心误操作,将SQLServer库的一张表的一个状态字段给刷成了一个统一状态,由于是update执行所以原来的相关状态无法确定.发生这种事情的时候我的小伙伴背后 一凉,估计心里里面想这怕是 ...

  9. Oracle数据库常见的误操作恢复方法(上)

    实验环境:Linux6.4 + Oracle 11g 面向读者:Oracle开发维护人员 概要: 1.误操作drop了emp表 2.误操作delete了emp表 3.误操作delete了emp表的部分 ...

随机推荐

  1. 爬取伯乐在线文章(二)通过xpath提取源文件中需要的内容

    爬取说明 以单个页面为例,如:http://blog.jobbole.com/110287/ 我们可以提取标题.日期.多少个评论.正文内容等 Xpath介绍 1. xpath简介 (1) xpath使 ...

  2. angularjs处理/n转<br/>时候 <br/>不会解析的问题

    $scope.name=$sce.trustAsHtml($scope.name); <p ng-bind-html="name"></p>  

  3. 3.if结构

    一.简单if结构1.定义:程序的条件判断2.语法:if(条件){ 语句块1}else{ 语句块2}语句块33:说明:条件必须是条件表达式,其结果必须是一个boolean类型 else是可选项,可以不写 ...

  4. 当你想要在conda指定的某个环境中安装包的方法

    1)使用conda install -n 环境名 包名 userdeMBP:pytorch user$ conda install -n deeplearning2 tensorflow 2)进入环境 ...

  5. CRF 条件随机场工具包

    CRF - 条件随机场 工具包(python/c++) 项目案例 ConvCRF+FullCRF https://github.com/MarvinTeichmann/ConvCRF 需要的包Opti ...

  6. BZOJ1064 NOI2008 假面舞会 图论

    传送门 将一组关系\((A,B)\)之间连一条边,那么显然如果图中存在环长为\(len\)的环,那么面具的种数一定是\(len\)的因数. 值得注意的是这里环的关系除了\(A \rightarrow ...

  7. MDK编译器内存分配

    转:https://blog.csdn.net/zuixin369/article/details/76195186?locationNum=7&fps=1 Keil MDK编译器完成编译链接 ...

  8. iOS开发简记(9):APPStore审核

    "觅知音"这个APP的第一个版本从提交审核到上架,历时三个星期,其中遇到一些审核上的问题,它的处理或许能帮助到遇到同样问题的小伙伴们,所以这里列举出来,这三个星期如何跟苹果的审核团 ...

  9. Python—randonm模块介绍

    random是python产生伪随机数的模块 >>> random.randrange(1,10) #返回1-10之间的一个随机数,不包括10 >>> random ...

  10. ASP.NET项目开发

    ASP.NET项目开发 1.C/S模式 (client 客户端 server 服务器):QQ.证券.酷狗.旺旺...需要下载响应软件: 工作原理:客户端请求--ASP.net服务器端应用(<-- ...