当前位置:首页 > 技术 > 正文内容

【服务器数据恢复】云服务器误操作导致表被truncate,表内的数据被delete的数据恢复案例

Lotus2022-11-27 12:11技术

云服务器特点:

1、云服务器不需要购买硬件设备,用户按照业务需求支付一定的费用购买相应的硬软件资源。云服务器提供商的数据中心不仅提供硬件/软件环境,还提供咨询服务。

2、云服务器可以充分利用资源,根据业务需求随时调整硬软件资源,避免老旧设备的淘汰和购买新设备/部署软件的所耗费的时间和成本。

3、云服务器提供商有专业的技术人员对服务器进行维护,节约服务器的搭建维护成本,可以让用户将更多资源投入到自身的核心业务中。

【服务器数据恢复】云服务器误操作导致表被truncate,表内的数据被delete的数据恢复案例_数据恢复

云服务器数据恢复案例:

云服务器数据恢复环境:

某云ECS网站服务器,linux操作系统,mysql数据库。


云服务器故障情况:

在执行mysql数据库版本更新测试时,将本应在测试库执行的sql脚本错误地在生产库中执行,部分表被truncate,部分表内的少量数据被delete。该实例内数据表均采用innodb作为默认存储引擎。

【服务器数据恢复】云服务器误操作导致表被truncate,表内的数据被delete的数据恢复案例_云服务器数据恢复_02

云服务器数据恢复流程:

1、由于用户的ECS内有其他业务在运行,为保证被truncate表的底层数据不被破坏,北亚数据恢复工程师首先将mysql的data目录所在分区备份。

2、由于用户需要恢复的12个表内不存在大字段类型值和myisam引擎表,为节约数据传输时间,北亚数据恢复工程师利用工具扫描数据段并下载获取恢复数据所必需的数据库段碎片。使用innodb引擎的mysql数据库恢复数据必须依赖表结构信息,mysql的表结构信息存储于对应表名的.frm文件内。本案例中.frm文件完好可直接使用。下载需要恢复的表对应的.frm文件。

3、分析系统表,读取数据段内的系统表信息,获取需要恢复的12个表在系统表内的注册信息。

4、在下载完成的数据段文件内提取对应于各表的数据页,解析对应表的.frm文件获取到该表的表结构信息,通过表结构信息获取到底层数据分配规则,按照规则拆分数据段内二进制数据并对不同类型数据进行字符展示转换(各类整形、浮点型、时间型等),完成数据段到sql语句的转换。

5、恢复被delete数据的表,基本流程和恢复truncate表的流程类似,不同点在于数据解析时需要提取被标注为“delete”的记录。

6、根据解析出的表结构信息在恢复环境中的mysql实例中创建表,并将恢复出的数据导入。

7、由于直接从底层抓取出的记录可能存在主键不唯一(引擎在存储时产生的临时记录)和记录重复(缓冲段)以及乱码(扫描数据段时出现特征值匹配成功但不属于该表的数据段)等情况,北亚数据恢复工程师对提取出的记录异常进行人工处理。

8、数据验证。开启远程桌面,由用户亲自验证看数据是否正确、数据量是否正常。经过用户验证,truncate表和delete记录的表都完整恢复。

【服务器数据恢复】云服务器误操作导致表被truncate,表内的数据被delete的数据恢复案例_数据恢复_03

原文链接

扫描二维码推送至手机访问。

版权声明:本文来源于网络,仅供学习,如侵权请联系站长删除。

本文链接:https://news.layui.org.cn/post/1018.html

分享给朋友:

“【服务器数据恢复】云服务器误操作导致表被truncate,表内的数据被delete的数据恢复案例” 的相关文章

记Windows的一个存在了十多年的bug

bug Windows有一个bug,持续了十多年,从Windows Visita开始(2007年),一直存在,直到Windows11(2021年)才修复(其实也不叫修复,后面我再具体说),而Windows10还能重现这个bug,即便把系统更新到最新(2022年10月5日)。 这个bug用语言来描述就是:使用Windows Explorer(资源管理器)的树形结构初次展开目录时,滚动条会发生不正确...

#打卡不停更#[图文并茂]Packstack部署train版openstack

Packstack部署openstack-train 介绍如何在centos7.9中使用packstack部署openstack-train。 首先需要安装一个最小化安装的centos7.9,按照你的网络环境配置好网络,然后重启。 这里我的环境是VMware虚拟机,ip是192.168.10.30. 首先我们需要关闭防火墙和NetworkManager systemctl disable --n...

【微信小程序】小程序的宿主环境

????系列专栏:微信小程序 ????欢迎关注????点赞????收藏⭐留言???? ✅个人主页:​​hacker_demo的51CTO博客​​ ????个人格言:不断的翻越一座又一座的高山,那样的人生才是我想要的。这一马平川,一眼见底的活,我不想要,我的人生,我自己书写,余生很长,请多关照,我的人生,敬请期待???????????? 宿主环境简介 宿主环境(host environ...

JavaScript之无题之让人烦躁的模块化

  我怎么记得我好像写过相关类型的文章,但是我找遍了我的博客没有~那就再写一遍吧,其实模块化的核心内容也算不上是复杂,只不过需要整理一下,规划一下罢了。嘻嘻。   开始写标题的时候我就在纠结一件事情,就是,先吃喜欢吃的,还是后吃喜欢吃的,翻译过来就是我应该先写CommonJS和ES6 Module,还是先写CMD和AMD。嗯,我决定了,谁先做好了我就先吃谁。   其实模块化的缘由很简单,就一句话,...

十年技术进阶路,让我明白了三件要事(8000字长文)

前言   【本文于2022-5-10日首发于ITPUB微信公众号平台】   该篇文章是我第一次跟DTCC合作编写的,整篇文章大概8000字,可能花您15分钟阅读。我和DTCC的韩楠老师,共花7了天时间,每天把该文章打磨到晚上12点,在这非常感谢编辑老师的负责与付出。   这篇也是我分享里为数不多“进阶”与“成长经历”的文章之一。被别人送到嘴边的食物永远是最香的,但是咱们还是得学会主动去"如何找吃的...

【大话云原生】微服务篇-五星级酒店的服务方式

文章开始之前,我给大家推荐一个人工智能学习网站,首先说我之前是完全不涉及人工智能领域的,但是我尽然看懂了,以后老哥我就要参与人工智能了。如果你也想学习,点击跳转到网站 《大话云原生》系列文章期望用最通俗、简单的语言说明云原生生态系统内的组成及应用关系。此专栏的前两篇文章 《【大话云原生】煮饺子与docker、kubernetes之间的关系》 《【大话云原生】负载均衡篇-小饭馆的流量变大了》 欢迎...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。