服务器数据恢复-华为ECS云服务器mysql数据库数据恢复案例

本文涉及的产品
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 云服务器数据恢复环境:华为ECS云服务器,linux操作系统,mysql数据库(innodb引擎)。作为网站服务器使用。云服务器故障:在执行mysql数据库版本更新测试时,误将本应该在测试库上执行的sql脚本执行在生产库上了,生产库上的部分表被truncate,部分表内有少量数据被delete。需要恢复被truncate的表以及被少量数据被delete的表。

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

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

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

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

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

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

相关实践学习
一小时快速掌握 SQL 语法
本实验带您学习SQL的基础语法,快速入门SQL。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
Mybatis+mysql动态分页查询数据案例——测试类HouseDaoMybatisImplTest)
Mybatis+mysql动态分页查询数据案例——测试类HouseDaoMybatisImplTest)
21 1
|
1月前
|
Java 关系型数据库 数据库连接
Mybatis+MySQL动态分页查询数据经典案例(含代码以及测试)
Mybatis+MySQL动态分页查询数据经典案例(含代码以及测试)
28 1
|
1月前
Mybatis+mysql动态分页查询数据案例——条件类(HouseCondition)
Mybatis+mysql动态分页查询数据案例——条件类(HouseCondition)
15 1
|
1月前
Mybatis+mysql动态分页查询数据案例——分页工具类(Page.java)
Mybatis+mysql动态分页查询数据案例——分页工具类(Page.java)
22 1
|
1月前
Mybatis+mysql动态分页查询数据案例——房屋信息的实现类(HouseDaoMybatisImpl)
Mybatis+mysql动态分页查询数据案例——房屋信息的实现类(HouseDaoMybatisImpl)
22 2
|
19天前
|
关系型数据库 MySQL 数据库
卸载云服务器上的 MySQL 数据库
卸载云服务器上的 MySQL 数据库
35 0
|
1月前
Mybatis+mysql动态分页查询数据案例——工具类(MybatisUtil.java)
Mybatis+mysql动态分页查询数据案例——工具类(MybatisUtil.java)
15 1
|
9天前
|
Java 关系型数据库 MySQL
一套java+ spring boot与vue+ mysql技术开发的UWB高精度工厂人员定位全套系统源码有应用案例
UWB (ULTRA WIDE BAND, UWB) 技术是一种无线载波通讯技术,它不采用正弦载波,而是利用纳秒级的非正弦波窄脉冲传输数据,因此其所占的频谱范围很宽。一套UWB精确定位系统,最高定位精度可达10cm,具有高精度,高动态,高容量,低功耗的应用。
一套java+ spring boot与vue+ mysql技术开发的UWB高精度工厂人员定位全套系统源码有应用案例
|
14天前
|
关系型数据库 MySQL 数据库连接
Django(四):Django项目部署数据库及服务器配置详解(MySQL)
Django(四):Django项目部署数据库及服务器配置详解(MySQL)
46 11
|
23天前
|
存储 缓存 NoSQL
Redis 服务器指南:高性能内存数据库的完整使用指南
Redis 服务器指南:高性能内存数据库的完整使用指南

相关产品

  • 云数据库 RDS MySQL 版