当前位置: 首页 > news >正文

【北亚数据恢复】mysql表被truncate,表数据被delete的数据恢复案例

云服务器数据恢复环境:
华为ECS云服务器,linux操作系统,mysql数据库(innodb引擎)。作为网站服务器使用。

云服务器故障:
在执行mysql数据库版本更新测试时,误将本应该在测试库上执行的sql脚本执行在生产库上了,生产库上的部分表被truncate,部分表内有少量数据被delete。
需要恢复被truncate的表以及被少量数据被delete的表。

云服务器数据恢复过程:
1、ECS云服务器内有其他业务仍在运行,先对mysql数据库的data目录所在分区进行备份。

2、由于需要恢复的表内不存在大字段类型值,也没有myisam引擎的表需要恢复,所以只需要扫描数据段并下载恢复数据所必需的数据库段碎片即可。innodb引擎的mysql数据库表的数据恢复必须依赖表结构信息,mysql的表结构信息存储于对应表名的.frm文件内。本案例mysql数据库中的.frm文件完好,直接下载需要恢复的表对应的.frm文件。

3、分析系统表,读取数据段内系统表信息,获取需要恢复的表在系统表内的注册信息。
4、在下载的数据段文件内提取对应于各表的数据页,解析对应表的.frm文件获取该表的表结构信息,通过表结构信息获取底层数据分配规则。按照底层数据分配规则拆分数据段内二进制数据,针对不同类型进行字符展示转换(各类整型、浮点型、时间型等),完成数据段到sql语句的转换。
5、恢复被delete数据的表数据的流程同上一步恢复truncate表的流程类似,不同点在于解析数据时需要提取被标注为“delete”的记录。
6、根据解析出的表结构信息在准备好的环境中的mysql实例内创建表,并将恢复出来的数据导入。

7、由于直接从底层抓取出的记录可能存在主键不唯一(引擎在存储时产生的临时记录)、记录重复(缓冲段)以及乱码(扫描数据段时出现特征值匹配成功但不属于该表的数据段)等情况。北亚企安数据恢复工程师人工处理存在异常的提取记录,直到所有数据都没有问题。
8、交由用户方工程师验证数据。经过用户方的多方验证,确认被truncate的表完整恢复,被delete记录的表中数据完整恢复。本次ECS云服务器数据恢复工作完成。

相关文章:

  • Python 爬虫 教程
  • 阿里后端实习一面面经
  • 【javaweb】tomcat9.0中的HttpServlet
  • 排序算法-选择插入排序
  • WSL使用VsCode运行cpp文件
  • 【VUE】Flask+vue-element-admin前后端分离项目发布到linux服务器操作指南
  • PyTorch常用工具(2)预训练模型
  • 2022年山东省职业院校技能大赛高职组云计算赛项试卷第三场-公有云
  • 雪花算法(Snowflake)介绍和Java实现
  • 微信小程序有几个文件
  • LVS那点事
  • 易舟云财务软件使用教程【文章目录】
  • 题目 1669: 求圆的面积
  • Quartus的Signal Tap II的使用技巧
  • [实践总结] 通过累加求和来学习 分支/合并框架
  • docker-consul
  • JavaScript标准库系列——Math对象和Date对象(二)
  • leetcode讲解--894. All Possible Full Binary Trees
  • Linux中的硬链接与软链接
  • log4j2输出到kafka
  • MYSQL 的 IF 函数
  • Redis在Web项目中的应用与实践
  • SpringBoot 实战 (三) | 配置文件详解
  • 简单基于spring的redis配置(单机和集群模式)
  • 你不可错过的前端面试题(一)
  • 深度学习在携程攻略社区的应用
  • 使用parted解决大于2T的磁盘分区
  • 数据库写操作弃用“SELECT ... FOR UPDATE”解决方案
  • 思维导图—你不知道的JavaScript中卷
  • 学习使用ExpressJS 4.0中的新Router
  • AI算硅基生命吗,为什么?
  • 曾刷新两项世界纪录,腾讯优图人脸检测算法 DSFD 正式开源 ...
  • 专访Pony.ai 楼天城:自动驾驶已经走过了“从0到1”,“规模”是行业的分水岭| 自动驾驶这十年 ...
  • #DBA杂记1
  • (1/2)敏捷实践指南 Agile Practice Guide ([美] Project Management institute 著)
  • (LNMP) How To Install Linux, nginx, MySQL, PHP
  • (pojstep1.1.2)2654(直叙式模拟)
  • (zhuan) 一些RL的文献(及笔记)
  • (第9篇)大数据的的超级应用——数据挖掘-推荐系统
  • (附源码)springboot高校宿舍交电费系统 毕业设计031552
  • (附源码)springboot金融新闻信息服务系统 毕业设计651450
  • (汇总)os模块以及shutil模块对文件的操作
  • (亲测有效)解决windows11无法使用1500000波特率的问题
  • (转)C#调用WebService 基础
  • (转)创业的注意事项
  • ***微信公众号支付+微信H5支付+微信扫码支付+小程序支付+APP微信支付解决方案总结...
  • .NET gRPC 和RESTful简单对比
  • .NET/C# 使窗口永不获得焦点
  • .net网站发布-允许更新此预编译站点
  • .NET值类型变量“活”在哪?
  • /etc/fstab 只读无法修改的解决办法
  • @Transient注解
  • [ C++ ] STL---string类的模拟实现
  • [ vulhub漏洞复现篇 ] JBOSS AS 5.x/6.x反序列化远程代码执行漏洞CVE-2017-12149
  • [ 攻防演练演示篇 ] 利用通达OA 文件上传漏洞上传webshell获取主机权限