MySQL误删数据找回和恢复

误删数据后,在开启binlog的前提下,可以通过binlog恢复数据

一、误删操作

truncate table bigdata.order_info

二、定位position

1.查看binlog文件


mysql> show binary logs;
+------------------+-----------+
| Log_name         | File_size |
+------------------+-----------+
| mysql-bin.000001 |   2388774 |
+------------------+-----------+
1 row in set (0.00 sec)

2.1 查看truncate操作Position-方式一

2.2 查看truncate操作Position-方式二

grep定位'truncate table order_info的位置'


[root@zxy_master mysql]# mysql -uroot -p@Zhou147258369 -S ./mysql.sock -e "show binlog events in 'mysql-bin.000001'" | grep -i 'truncate table order_info'
mysql: [Warning] Using a password on the command line interface can be insecure.
mysql-bin.000001        1065653 Query   1       1065748 use `bigdata`; truncate table order_info
[root@zxy_master mysql]#

2.3 查看truncate操作Position-方式三

[root@zxy_master mysql]# mysqlbinlog -vv mysql-bin.000001 > ./mysql-binlog-222-06-12.log

在导出的mysql-binlog-222-06-12.log文件中找到truncate语句

三、恢复准备

start-position可以定义起始点
stop-position可以定义为结束点
将这个区间内的binlog导出到sql语句中

mysqlbinlog --start-position=4 --stop-position=1065557 -vv mysql-bin.000001 > mysql-dump-binlog-2022-06-12.log

四、恢复指定表数据

从mysql-dump-binlog-2022-06-12.log中摘选出指定表的相关语句,从而进行恢复

[root@zxy_master mysql]# grep -A16 -w 'INSERT INTO `bigdata`.`user_info`' mysql-dump-binlog-2022-06-12.sql > user_info.sql

grep -An -Bn filename 操作是跟行有关的
1.grep -A1 keyword filename
找出filename中带有keyword的行,除该行输出外,还显示之后的一行
2.grep -B1 keyword filename
找出filename中带有keyword的行,除该行输出外,还显示之前的一行
3.grep -A1 -B2 keyword filename
找出filename中带有keyword的行,除该行输出外,还显示之前的两行和之后的一行
4.grep -1 keyword filename
找出filename中带有keyword的行,除该行输出外,还显示之前的一行和之后的一行

vim user_info.sql

### INSERT INTO `bigdata`.`user_info`
### SET
###   @1=1 /* LONGINT meta=0 nullable=0 is_null=0 */
###   @2='gykkr7' /* VARSTRING(600) meta=600 nullable=1 is_null=0 */
###   @3='阿鸣' /* VARSTRING(600) meta=600 nullable=1 is_null=0 */
###   @4=NULL /* VARSTRING(600) meta=600 nullable=1 is_null=1 */
###   @5='乐鸣' /* VARSTRING(600) meta=600 nullable=1 is_null=0 */
###   @6='13612294317' /* VARSTRING(600) meta=600 nullable=1 is_null=0 */
###   @7='gykkr7@263.net' /* VARSTRING(600) meta=600 nullable=1 is_null=0 */
###   @8=NULL /* VARSTRING(600) meta=600 nullable=1 is_null=1 */
###   @9='1' /* VARSTRING(600) meta=600 nullable=1 is_null=0 */
###   @10='1982:03:30' /* DATE meta=0 nullable=1 is_null=0 */
###   @11='M' /* VARSTRING(3) meta=3 nullable=1 is_null=0 */
###   @12='2022-03-30 14:34:25' /* DATETIME(0) meta=0 nullable=1 is_null=0 */
###   @13=NULL /* DATETIME(0) meta=0 nullable=1 is_null=1 */
###   @14=NULL /* VARSTRING(600) meta=600 nullable=1 is_null=1 */
# at 380500

MySQL误删数据找回和恢复相关推荐

  1. MySQL误删数据救命指南:必收藏

    首先看下mysql误删数据排名最前的几种是: 1.误删文件 2.误删库.表 3.错误全表删除 / 更新 4.升级操作失误 都来看看你命中过几个,hoho. 简单说下我亲手造的一个大事故吧. 那大概是一 ...

  2. mongodb误删数据该如何恢复

    mongodb误删数据该如何恢复 在mongodb库中使用脚本执行remove操作,误删有效数据该如何恢复. mongodb-3.4.2 原理 mongodb的任何操作都会在其中的local库中记录下 ...

  3. MySql 数据库数据文件进行恢复

    MySql 数据库数据文件进行恢复 偶尔某些意外导致mysql数据库出现问题,需要依靠 data文件夹下的 frm及ibd等文件进行恢复数据 首先新建一个数据库 1.将其命名为想要恢复的数据库名 2. ...

  4. SQLServer数据库误删数据找回

    记一次SQLServer数据库误删数据找回 昨天 同事在本机清理数据库表时,连接到了生产机,误删了二十几张表,幸好是晚上加班的时候删除的,生产机上当时是一天一备份,还原备份是最后的策略,最关键的还是要 ...

  5. MySQL误删数据?快速恢复!

    MySQL误删数据?快速恢复! 第一步:保证mysql已经开启binlog,查看命令: 查看binklog是否开启! show variables like '%log_bin%'; 查看binlog ...

  6. MySQL误删数据后,查找操作日志并恢复数据

    有时候直接操作数据库,可能会出现误删除一些数据的情况,比如删了某个表中某一行数据,事后发现该条数据是误删的,还需要恢复,但是又不太记得具体每个字段原来的数据是什么了,只能要查到之前删掉的数据每个字段值 ...

  7. mysql 表数据备份和恢复_mysql 数据备份与恢复

    MySQL数据备份与恢复 #1. 物理备份: 直接复制数据库文件,适用于大型数据库环境.但不能恢复到异构系统中如Windows. #2. 逻辑备份: 备份的是建表.建库.插入等操作所执行SQL语句,适 ...

  8. 希沃课件同步显示服务器异常,希沃白板文件误删怎么找回来 恢复课件的方法...

    作为一款专为互动教学而生的软件,希沃白板也随之成为宽大西席用户必备的软件,小编近期领会到许多用户在操作过程中不小心误删除了课件,不知道怎么将其找回,若是你还不知道详细的操作方法,就赶忙来看看下面的教程 ...

  9. oracle 误删数据找回,关于oracle找回误删数据

    对于一个开发而言,在项目即将上线进行上线前测试阶段,这个过程往往会出现一些bug,那么我们一般就会在客户现场去直接解决这些问题.那么客户现场的机器上面我们可能会连接很多的数据库,包括客户生产数据库.有 ...

  10. 1 恢复MySQL误删数据

    作者:一个人的孤独自白 cnblogs.com/-mrl/p/9959365.html 相信后端研发的同学在开发过程经常会遇到产品临时修改线上数据的需求,如果手法很稳那么很庆幸可以很快完成任务,很不幸 ...

最新文章

  1. 新型前端开发工程师的三个境界 后端开发工程师如何快速转前端
  2. jQuery对checkbox的操作(转载)
  3. 7-57 愿天下有情人都是失散多年的兄妹 (25 分)(深搜)
  4. 在Azure Data StudioSQL笔记本中使用Python脚本加密密码
  5. 要快乐的度过充满困难的一生——任总给陈珠芳及党委成员的一封信
  6. HDF5快速上手全攻略
  7. python十折交叉验证
  8. 关于matlab匿名函数,求导
  9. 微信小程序通过url 上传远端图片 到微信小程序临时素材库 java
  10. 第二天 熟悉ue4工具 及快捷键
  11. 化工过程机械类毕业论文文献有哪些?
  12. Box2D 实现不倒翁效果 绘制扇形
  13. 名创优品寻求香港上市:叶国富夫妇持股64% 有77%投票权
  14. crypto-music is frequency(INS‘hAck CTF 2018)
  15. vim插入模式小技巧
  16. 从零开始用 Python 打造自己的区块链
  17. 六、Django-Registration-Redux的基本使用
  18. 【BZOJ2844】albus就是要第一个出场 线性基 高斯消元
  19. REDMINE/SVN安装、配置、集成和应用(二)
  20. php layer弹出层更改背景,layer更改皮肤的实现方法

热门文章

  1. [源码和报告分享]基于Java的局域网聊天工具
  2. 模仿LordPE写了个PE解析工具
  3. php免杀教程【绝对原创】
  4. android reshare.c病毒,恶意软件分析 URL链接扫描 免费在线病毒分析平台 | 魔盾安全分析...
  5. Hibernate各个版本的下载地址
  6. springBoot dubbo junit 单元测试
  7. 服务器2008r2修改数据,win2008 R2服务器下修改MySQL 5.5数据库data目录的方法
  8. MMORPG大型游戏设计与开发(构架)
  9. NATAPP内网穿透
  10. Win Me安装教程