侧边栏壁纸
博主头像
行迹小栈

即使明天我们的手脚都会折断,但是我们的衣领和袖口,依然笔挺!

  • 累计撰写 113 篇文章
  • 累计创建 13 个标签
  • 累计收到 9 条评论

目 录CONTENT

文章目录

Mysql误删数据,如何恢复?

Administrator
2024-10-10 / 0 评论 / 1 点赞 / 21 阅读 / 0 字 / 正在检测是否收录...

昨天误将mysql数据表中的数据用delete删除了,没有备份,没有回滚,删除了180855条,删除的正是今天要用的数据,好在今天上午成功恢复😄 ,赶紧记录一下恢复过程!

第一步:查看binlog功能是否开启

show variables like '%log_bin%';

如果log_bin的值为ON,那么就可以恢复,如果为OFF说明没有开启bin_log,那么就不能使用本方法进行恢复

mysql误删数据-1.png

第二步:查看binlog文件存放路径

show variables like '%datadir%';

mysql误删数据-2.png

第三步:从存放路径中找 修改时间为你删除mysql数据的时间的一个文件

我删除数据的时间为16:35左右,再结合文件大小确定应该就是这个文件了(最好再将这个文件备份一份,对备份的这个进行操作)

mysql误删数据-3.png

第四步:通过mysqlbinlog 恢复删除的数据日志记录

打开cmd,进入到此文件所在目录,输入如下命令

mysqlbinlog --base64-output=decode-rows -v  DESKTOP-TA3EDSA-bin.000402 > mysqllog.sql

命令解释

mysqlbinlog 命令的参数说明
--base64-output=decode-rows //数据转换正常的字符,如果不设置这个参数将显示base64的数据
DESKTOP-TA3EDSA-bin.000402  //为数据恢复的日志文件
mysqllog.sql    //恢复以后我们需要的文件名

等待执行完成,会出现我们命名的sql文件:mysqllog.sql

第五步:sql文件的内容处理

打开输出的sql文件,内容是这样的

mysql误删数据-4.png

mysql误删数据-5.png

需要对文件内容做如下处理:

  1. 将不需要的内容删除,如文件的首尾段落,只保留delete语句
  2. 将delete语句转为insert into 语句

处理完之后:

mysql误删数据-6.png

第六步:执行sql文件,开始恢复!

1
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区