MySQL误truncate截断后数据恢复2024.3.1

近期很多MySQL数据丢失情况,很多是人为误操作导致。MySQL数据库丢失可能由truncate截断表、delete删除表中数据行、delete删除表、delete删除库、操作系统rm删除数据库文件、硬盘坏道等情况导致。本案例是一个误截断表导致的丢失。

不管哪种情况,第一时间是停止所有操作,千万不要再往数据所在磁盘分区写入数据,包括文件复制、打包、解压、下载、安装软件等,都可能往磁盘写入大量数据,从而造成覆盖,导致数据物理上永久丢失。

停止一切可能产生数据覆盖的行为后,我们应该尽快执行专业的数据扫描和恢复方案。

第一时间运行DU_MySQL_Search_Linux扫描程序,可以提取到磁盘上所有的mysql碎片数据。将DU_MySQL_Search_Linux上传到非数据分区,注意不要放在丢数据的分区上,扫描出来的数据会产生二次覆盖,如果服务器上只有一个分区,此情况放联系我们工程师特别处理。上传工具后,执行命令如下(windows环境则是运行DU_MySQL_Search_Win):

Sudo nohup DU_MySQL_Search_Linux -s /dev/vda &

以上命令是以后台方式运行DU_MySQL_Search_Linux,扫描磁盘为/dev/vda,可根据自己实际情况调整。

扫描时会产生nohup.out文件,显示到search complated时,表示扫描完成。

如上图所示,已扫描出大量ibdfile数据碎片,以及frmfile表结构碎片,如果mysql曾经开启过binlog,还能扫描出被删除的binlog碎片,这些都可能是恢复出数据的关键,下载后发给恢复工程师即可恢复出数据。

在本案例中,我们只花费2小时,就恢复了所有的完整数据。

案例中使用的恢复工具及详细使用教程:

DU MySQL Search/Restore Win/Linux,mysql ibd frm binlog 全面支持碎片级搜索恢复工具-2021.02.25_du_mysql_search/restore win/linux 5.3-CSDN博客

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数据恢复专家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值