1.查看binlog功能是否开启
show variables like ‘%log_bin%’;
如果为log_bin为ON说明可以恢复,如果为OFF说明没有开启binlog,也没有预先生成回滚SQL就无法恢复,这种情况就没办法了
2.根据操作时间查找binlog
一般放在mysql/data里面,找到最新的一个mysql-bin.XXXX(比如我的就是叫 mysql-bin.000051),记住误操作的时间,通过mysqlbinlog命令的–start-datetime参数快速定位数据位置。比如误操作时间为2022-07-20 15:50,解析命令就是:mysqlbinlog -vv --start-datetime=‘2022-07-20 15:50:00’ mysql-bin.000051|more
然后查找解析内容里删除的标记


通过上面的方法我们应该可以找到被删除的数据在binlog中的起始和终止位置点,这样我们就可以保证在这两个位置之间只有我们需要的待恢复的数据,而没有其他数据。
3.将binlog里的delete语句转化为insert语句
Binlog是二进制文件,我们可以先把待恢复数据导出为可阅读文本:
mysqlbinlog -vv --start-position=66801338 --stop-position=67194066 mysql-bin.000051 |grep ^“###” >/tmp/bin_data.sql

然后将里面的delete语句转化为insert语句,可以通过下面的语句实现转化:
cat /tmp/bin_data.sql | sed -n ‘/###/p’ | sed ‘s/### //g;s//*./,/g;s/DELETE FROM/;INSERT INTO/g;s/WHERE/SELECT/g;’ |sed -r 's/(@17.),/\1;/g’ | sed ‘s/@1=//g’| sed ‘s/@[1-9]=/,/g’ | sed ‘s/@[1-9][0-9]=/,/g’ > mysqllogOK.sql

4.把转化好的SQL语句插入到mysql表中
转化后的SQL语句开头多了个;要手动去掉,然后执行sql脚本插入数据就OK了

MSQL误操作delete之后的数据恢复相关推荐

  1. mysql从挂了数据怎么恢复_详解MySQL误操作后怎样进行数据恢复

    一.开启binlog. 首先查看binlog是否开启 mysql> show variables like "log_bin"; +---------------+----- ...

  2. phpstudy mysql恢复数据_MySQL_详解MySQL误操作后怎样进行数据恢复,一、开启binlog。 首先查看binlo - phpStudy...

    详解MySQL误操作后怎样进行数据恢复 一.开启binlog. 首先查看binlog是否开启 mysql> show variables like "log_bin"; +- ...

  3. mysql怎么防止误操作_MySQL数据库防止人为误操作的实例讲解

    有不少开发人员在操作MySQL数据库的时候都遇到过误操作的情况,例如更新数据库的时候update语句忘记加上where条件,就会造成极为悲剧的结果.本文就针对防止MySQL数据库误操作的方法做出如下详 ...

  4. SQLServer数据库误操作如何恢复

    总目录 文章目录 总目录 前言 一.恢复数据实例 1.创建初始数据 2.保证数据恢复的前提条件 前提1 - 数据库创建时便已设置恢复模式为完整 前提2 - 至少做过一次完整的备份 3.模拟不小心误操作 ...

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

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

  6. mysql router是什么_数据库周刊28│开发者最喜爱的数据库是什么?阿里云脱口秀聊程序员转型;MySQL update误操作...

    摘要:墨天轮数据库周刊第28期发布啦,每周1次推送本周数据库相关热门资讯.精选文章.干货文档.本周分享 开发者最喜爱的数据库是什么?阿里云脱口秀爆聊程序员转型:MySQL update误操作后进行数据 ...

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

    文章来源:墨天轮社区 https://www.modb.pro/db/26343 摘要:墨天轮数据库周刊第28期发布啦,每周1次推送本周数据库相关热门资讯.精选文章.干货文档.本周分享 开发者最喜爱的 ...

  8. mysql 清除分区数据恢复_MySQL 误操作后数据恢复(update,delete忘加where条件)【转】...

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

  9. oracle操作错误还原,Oracle delete误操作数据恢复(BBED)

    Oracle delete误操作数据恢复(BBED) 在Oracle中,表数据被错误执行了delete,并 已 提交,如何找回数据呢? 常规的修复方法可以想到 闪回.Rman.impdp . DG . ...

最新文章

  1. Java程序员从笨鸟到菜鸟之(五十二)细谈Hibernate(三)Hibernate常用API详解及源码分析--csdn 曹胜欢...
  2. 胡总和老朱说的一个小技巧
  3. Dex-net再次复现
  4. laravel -admin 禁止某一行删除
  5. Kubesphere查看token
  6. OpenShift 4 - 部署Mirror Registry并复制Image
  7. Quartus ii 13.1错误合集,持续更新
  8. 链表知识体会总结(仅供参考)
  9. 来自一位程序员女友的内心独白
  10. 电脑怎么卸载软件干净_电脑卸载软件怎么卸载?
  11. kubernetes视频教程笔记 (22)-存储-Secret
  12. Textview属性Kotlin.Android
  13. MSNMessenger忌讳用法大全(转)
  14. RFC2544性能测试
  15. Python 中的决策树
  16. db2 导出 oracle,db2导出数据库数据库
  17. 末学者笔记--MariaDB 数据库 三玄
  18. 软件工程计算机水平 推荐表,软件工程就业推荐表2014届.doc
  19. android课程设计健身,健身软件课程设计-毕业论文.doc
  20. Spring,SpringMVC,Mybatis(第二节)

热门文章

  1. 3万字总结 机器学习经典术语
  2. matlab 立体图平面化法,matlab绘制三维立体图
  3. 攻防世界 base64stego
  4. 【基础教程】模拟退火算法【007期】
  5. SQL那些事(sql中易错的东西)
  6. 联想台式计算机最新款,联想销量前十款电脑推荐 2019最新联想台式电脑排行
  7. Plex 拼音排序、拼音搜索及类型汉化脚本使用教程
  8. Python如何将字符串分割成单个字符,并形成一个list?
  9. 疫情期间,找工作有多难?
  10. 【Youtobe trydjango】Django2.2教程和React实战系列一【项目简介 | 搭建 | 工具】