服务器数据恢复—云服务器mysql数据库表被truncate的数据恢复案例

云服务器数据恢复环境:
阿里云ECS网站服务器,linux操作系统+mysql数据库。

云服务器故障:
在执行数据库版本更新测试时,在生产库误执行了本来应该在测试库执行的sql脚本,导致生产库部分表被truncate,还有部分表内的少量数据被delete。该实例内数据表均采用innodb作为默认存储引擎。

云服务器数据恢复过程:
1、由于用户ECS内还有其他业务在运行,为避免被truncate表的底层数据被破坏,首先将mysql数据库的data目录所在分区备份。

2、需要恢复的十多个表内不存在大字段类型值和myisam引擎表,直接扫描数据段并下载恢复所必需的数据库段碎片。由于innodb引擎表恢复数据须依赖表结构信息,mysql的表结构信息存储于对应表名的.frm文件内。经过检测发现.frm文件完好,可直接使用。下载需要恢复的表所对应的.frm文件。

3、读取&分析数据段内系统表信息,获取需要恢复的十多个表在系统表内的注册信息。
4、在下载完成的数据段文件内提取对应于各表的数据页,解析对应表的.frm文件获取该表的表结构信息。通过表结构信息获取到底层数据分配规则,北亚企安数据恢复工程师按照规则拆分数据段内二进制数据并将不同类型数据进行字符展示转换(各类整型、浮点型、时间型等),完成数据段到sql语句的转换。
5、恢复被delete数据的表的流程类似恢复被truncate表的流程,差异在于解析数据时需要提取被标注为“delete”的记录。
6、根据解析出的表结构信息在恢复环境中的mysql实例内创建表,将恢复出的数据导入。
7、由于直接从底层抓取出的记录可能存在主键不唯一(引擎在存储时产生的临时记录)、记录重复(缓冲段)和乱码(扫描数据段时出现特征值匹配成功但不属于该表的数据段)等情况,北亚企安数据恢复工程师人工处理提取记录存在的异常。
8、由用户方远程桌面的方式验证恢复数据的正确性和完整性。经过用户方工程师的多方验证,确认被truncate的表和被delete记录的表的数据恢复完整,数据正确有效。本次数据恢复工作完成。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/126679.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于springboot实现福聚苑社区团购平台系统项目【项目源码】

基于springboot实现福聚苑社区团购平台系统演示 Javar技术 Java是一种网络脚本语言,广泛运用于web应用开发,可以用来添加网页的格式动态效果,该语言不用进行预编译就直接运行,可以直接嵌入HTML语言中,写成js语言&…

如何在时间循环里最优决策——时间旅行者的最优决策

文章目录 每日一句正能量前言时间旅行和平行宇宙强化学习策略梯度算法代码案例推荐阅读赠书活动 每日一句正能量 做一个决定,并不难,难的是付诸行动,并且坚持到底。 前言 时间循环是一类热门的影视题材,其设定常常如下&#xff1…

javaSE学习笔记(四)常见类,基本数据类型包装类,StringBufferStringBuilder

目录 三、面向对象 16.Object类 方法 和equals() 17.String类 注意 构造方法 String的最大长度 String的底层存储结构 字符串的常量池机制 String类的方法 String类的判断功能 String类的获取功能 String类的转换功能 String类拼接 String类的其他功能 18.Math…

vue3 自动导入composition-apiI和组件

1.api的自动导入 常规写法&#xff1a; <script setup>import { ref, reactive, onMounted, computed ,watch } from vue;import { useRouter } from "vue-router";const router useRouter();const person reactive ({name&#xff1a;张三&#xff0c;age…

美国Embarcadero公司正式发布2023 RAD Studio Delphi C++ Builder 12 Athens

Embarcadero 非常高兴地宣布发布 RAD Studio 12 Athens 以及 Delphi 12 和 CBuilder 12。RAD Studio 12 Athens 版本包含令人兴奋的新功能&#xff0c;为该产品的未来奠定了基础。 目录 主要新功能 C 的奇妙之处Delphi 的一些不错的补充FireMonkey 和 Skia 作为新基金会采用 MD…

观测云产品更新 | 数据转发、监控器告警策略等优化

数据转发 数据查询时间组件优化&#xff0c;支持选择多个日期&#xff0c;并可以自定义开始时间和结束时间&#xff0c;时间精确到小时。 监控器 > 告警策略优化 1、「通知配置」逻辑调整为&#xff1a;针对单个异常等级配置通知单个或多个对象告警通知。 2、「恢复通知」…

使用XnView MP快速查看图片某个像素点的RGB像素值

效果图 如上图lena.png X:28 Y:9 RGB (220, 129, 107) HTML(#dc816b) 简介 XnView MP是一款非常著名的免费看图软件XnView 的新版本 MP是 Multi Platform 的缩写&#xff0c;支持多平台并基于同样的源代码&#xff0c;不同平台也提供统一的界面和体验&#xff0c;最终取代…

Java使用FTP连接到NAS读取文件信息,并将文件信息变成单向树形结构设置到对象中

检测NAS是否启用的FTP连接模式 如果这里不启用会出现下面错误提示&#xff1a; MalformedServerReplyException: Could not parse response code. Server Reply: SSH-2.0-OpenS 使用依赖 <dependency><groupId>commons-net</groupId><artifactId>comm…

每次重启完IDEA,application.properties文件里的中文变成?

出现这种情况&#xff0c;在IDEA打开Settings-->Editor-->File Encodings 然后&#xff0c;你需要将问号改为你需要的汉字。 重启IDEA&#xff0c;再次查看你的.properties文件就会发现再没有变成问号了

在Node.js中,什么是Promise?如何使用Promise处理异步操作?

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 欢迎来到前端入门之旅&#xff01;感兴趣的可以订阅本专栏哦&#xff01;这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…

Word脚注如何插入?1分钟学会!

“最近在写一些文章&#xff0c;引用了一些注释&#xff0c;想为它们增添一些脚注。有没有朋友知道在word里脚注怎么添加呀&#xff1f;” 使用word编写文章时&#xff0c;添加脚注是一项常见的任务&#xff0c;用于引用文献、添加注释或提供额外信息。但可能很多朋友不知道wor…

vue-cli创建自定义preset预设项目

vue-cli创建自定义preset预设项目 背景自定义预设创建默认预设创建预设项目preset.jsonprompts.jstemplate预设模板generator.js 本地预设创建项目 背景 一个 Vue CLI preset 是一个包含创建新项目所需预定义选项和插件的 JSON 对象&#xff0c;让用户无需在命令提示中选择它们…

ECharts柱形图数据差距过大触发点击事件

目录 前言 一、普通点击事件 二、使用getZr()点击 前言 在项目开发中&#xff0c;由于一些数据量差距过大&#xff0c;导致偏小的值的点击事件难以触发&#xff0c;此时我们可以不用传统的点击事件&#xff0c;而是用可以包括背景区域的点击事件来触发。相当于点击整个坐标…

stable diffusion为什么能用于文本到图像的生成

推荐基于稳定扩散(stable diffusion) AI 模型开发的自动纹理工具&#xff1a; DreamTexture.js自动纹理化开发包 - NSDT 稳定扩散获得如此多关注的原因 如果你还没有看过它&#xff1a;稳定扩散是一个文本到图像的生成模型&#xff0c;你可以输入一个文本提示&#xff0c;比如…

内网渗透-防火墙出入规则上线-正反向连接+隧道技术-SMB+防火墙控制

环境&#xff1a;如下图 不出网-控制上线-CS-反向连接 前提&#xff1a;已经使用攻击机通过漏洞拿下了windows7主机&#xff0c;又通过windows7正向连接拿下了windows10。 目的&#xff1a;让windows2008在cs上线。 想要通过windows10正向连接拿下windows2008时&#xff0c;发现…

【Linux笔记】Linux环境变量与地址空间

【Linux笔记】Linux环境变量与地址空间 一、命令行参数1.1、main函数的参数1.2、main函数的第三个参数 二、环境变量的概念与内容2.1、环境变量的概念2.2、环境变量的分类2.3、环境变量的组织形式2.4、常见的环境变量 三、设置环境变量3.1、通过命令获取或设置环境变量3.2、通过…

C#中基于.NET6的动态编译技术

前几天要解决动态计算问题&#xff0c;尝试着使用了不同的方法。问题是给定一个包含计算的字符串&#xff0c;在程序运行中得到计算结果&#xff0c;当时考虑了动态编译&#xff0c;在网上查了一些资料完成了这项功能&#xff0c;可是基于不同的.NET平台使用的编程代码相差比较…

【Git】推送Github失败:remote: Permission to xxx/*.git denied to xxx

在github上&#xff0c;创建了token&#xff0c;推送代码报没权限 #设置token git remote set-url origin <your.token>github.com/<your.name>/hello-git.git#推送代码 #git push -u origin main remote: Permission to xxx/hello-git.git denied to xxx. fatal:…

vscode文件跳转(vue项目)

在 .vue 文件中&#xff0c;点击组件名打开 方式1&#xff1a; 在 vue 组件名上&#xff0c;桉住ctrl 鼠标左键 // 重新打开一个tab 方式2&#xff1a; 在 vue 组件名上&#xff0c;桉住ctrl shift 鼠标左键 // 在右侧拆分&#xff0c;并打开一个tab .vue文件的跳转 按住 …

DevChat:VSCode中基于大模型的AI智能编程助手

#AI编程助手哪家好&#xff1f;DevChat“真”好用# 文章目录 1. 前言2. 安装2.1 注册新用户2.2 在VSCode中安装DevChat插件2.3 设置Access Key 3. 实战使用3.1 代码编写3.2 项目创建3.3 代码讲解 4. 总结 1. 前言 DevChat是由Merico公司精心打造的AI智能编程助手。它利用了最先…