北亚数据库数据恢复使用delete命令未添加where子句删除全表数据的Mysql数据库数据恢复

Posted 宋国建

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了北亚数据库数据恢复使用delete命令未添加where子句删除全表数据的Mysql数据库数据恢复相关的知识,希望对你有一定的参考价值。

Mysql数据库数据恢复环境:

服务器操作系统windows;

mysql5.6单实例,innodb数据库引擎;

表内存储数据的是独立表空间;

无数据库备份,binlog未开启。


Mysql数据库故障:

误操作,使用Delete命令删除数据时未添加where子句进行筛选,导致全表数据被删除,所幸删除数据后未进行任何操作,没有数据覆盖,需要对Mysql数据库误删除的数据进行数据恢复。


Mysql数据库数据恢复方案:

1、本数据库数据恢复案例由于未进行备份也未开启binlog,无法直接恢复还原数据库数据,这是数据库数据恢复案例中最常见的。

2、对于使用innodb数据库引擎的mysql数据库数据误删除导致记录丢失的数据恢复有三种方案:备份还原、binlog还原和记录深度解析。由于本案例中的数据库没有备份,也没有开启binlog,只能使用记录深度解析的方案进行数据恢复。

记录深度解析的数据恢复方案原理:模拟innodb引擎记录管理方式,根据表结构信息将二进制文件解析为字符记录。


Mysql数据库数据恢复流程:

1、获取数据文件:北亚数据恢复工程师对表结构文件及表数据文件(.ibd)的数据进行分析和恢复。

2、使用北亚自主研发的数据库数据恢复工具进行扫描:

【北亚数据库数据恢复】使用delete命令未添加where子句删除全表数据的Mysql数据库数据恢复_数据库

【北亚数据库数据恢复】使用delete命令未添加where子句删除全表数据的Mysql数据库数据恢复_数据恢复_02


在本次数据库数据恢复案例中,用户提供了数据库表结构脚本,可以使用本工具中的5+3功能进行恢复。


首先读取表结构信息:

【北亚数据库数据恢复】使用delete命令未添加where子句删除全表数据的Mysql数据库数据恢复_数据恢复_03

【北亚数据库数据恢复】使用delete命令未添加where子句删除全表数据的Mysql数据库数据恢复_数据库_04


开始解析记录:

【北亚数据库数据恢复】使用delete命令未添加where子句删除全表数据的Mysql数据库数据恢复_数据恢复_05


本工具默认将记录提取为SQL备份格式,等待解析完毕后还原到数据库查看结果:

【北亚数据库数据恢复】使用delete命令未添加where子句删除全表数据的Mysql数据库数据恢复_数据库_06


3、验收数据:

数据提取完成后,由服务器管理员亲自对恢复出来的数据进行验证,核对恢复记录的总数,确认恢复的数据完整可用。

以上是关于北亚数据库数据恢复使用delete命令未添加where子句删除全表数据的Mysql数据库数据恢复的主要内容,如果未能解决你的问题,请参考以下文章

Mysql数据库delete删除后数据恢复报告

北亚一例服务器硬盘故障的数据恢复案例研究

北亚针对服务器RAID5硬盘故障进行数据恢复案例

北亚服务器数据恢复3个磁盘组成的raid5中1个硬盘掉线,阵列出现故障,分区不能识别的数据恢复案例

北亚数据恢复_mdb_catalog.wt文件完全损坏的情况下的从数据库层面恢复MongoDB数据库数据的数据恢复案例

北亚数据恢复raid损坏导致硬盘灯报警离线存储无法使用的数据恢复案例