服务器数据恢复环境部署及故障原因:

华为云ECS网站服务器,服务器采用linux操作系统,数据库版本号5.6,。

在执行数据库版本更新测试时,错误地将本应在测试库执行的sql脚本执行于生产库,导致部分表被truncate,

另有部分表内少量数据被delete。该实例内数据表均采用innodb作为默认存储引擎。

数据恢复需求:

恢复被truncat的8个表以及被少量数据被delete的4个表。

服务器数据恢复流程:

1.分区备份

由于客户ECS内有其他业务仍在运行,

为保证被truncate表底层数据不被破坏首先对mysql的data目录所在分区进行备份。

2.获取数据库碎片

由于客户需要恢复的12个表内不存在大字段类型值和myisam引擎表,

为节约数据传输时间,通过扫描数据段并下载获取恢复所必须的数据库段碎片。

另外innodb引擎数据恢复必须依赖表结构信息,mysql的表结构信息存储于对应表名的.frm文件内。

在本恢复案例中frm文件完好,可直接使用。下载需要恢复的表对应的frm文件。

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

4.恢复被truncate的表。在下载完成的数据段文件内提取对应于各表的数据页,

解析对应表的frm文件获取到该表的表结构信息。

通过表结构信息获取到底层数据分配规则后。

5.恢复被delete数据的表,基本流程同truncate表的恢复,

不同点在于数据解析时需要提取被标注为“delete”的记录。

6.数据还原。根据解析出的表结构信息在恢复环境中的mysql实例内创建表,

并将恢复出的数据导入

7.数据清洗。由于直接从底层抓取出的记录可能存在主键不唯一和记录重复以及乱码等情况,

提取出的记录可能存在异常需要进行人工处理。

8.数据验证。开启远程桌面,由客户进行数据验证是否正确、数据量是否正常。

经过客户验证,truncate表恢复完整,delete记录的表恢复完整,数据恢复流程完毕。

获取表数据_mysql数据库部分表被truncate,部分数据被delete的解决过程相关推荐

  1. MySQL数据库应用 多表查询_mysql数据库-多表查询

    今日任务 完成对MYSQL数据库的多表查询及建表的操作 教学目标 掌握MYSQL中多表的创建及多表的查询 掌握MYSQL中的表关系分析并能正确建表 昨天内容回顾: ​ 数据库的创建 : create ...

  2. mysql innodb表损坏_MySQL数据库INNODB表损坏修复处理过程分享

    ##状况描述 突然收到MySQL报警,从库的数据库挂了,一直在不停的重启,打开错误日志,发现有张表坏了.innodb表损坏不能通过repair table 等修复myisam的命令操作.现在记录下解决 ...

  3. mysql查询每个用户第一条数据_MySQL数据库订单表按用户邮箱字段分组查询每个用户的第一条记录...

    程序开发或者一些数据统计时,在MySQL中使用GROUP BY分组是很常用的SQL语句.那么,如果如下的简单示例订单数据表,我们现需要使用GROUP BY分组后查询每个用户的第一个订单记录,应该如何实 ...

  4. mysql 数据库分表查询_mysql数据库分表及实现

    项目开发中,我们的数据库数据越来越大,随之而来的是单个表中数据太多.以至于查询书读变慢,而且由于表的锁机制导致应用操作也搜到严重影响,出现了数据库性能瓶颈. 当出现这种情况时,我们可以考虑分表,即将单 ...

  5. mysql数据库表复用_MySQL 数据库之表操作

    一.创建表的完整语法 create table 表( 字段名1 类型 [(宽度) 约束条件], 字段名2 类型 [(宽度) 约束条件], 字段名3 类型 [(宽度) 约束条件] ): 1.类型:使用限 ...

  6. mysql批量写入100万数据_Mysql数据库实践操作之————批量插入数据(100万级别的数据)-阿里云开发者社区...

    第一种方法:使用insert into 插入 从Redis每次获取100条数据,根据条件去插入到Mysql数据库中: 条件: 如果当前队列中的值大于1000条,则会自动的条用该方法,该方法每次获取从队 ...

  7. 将excel数据导入数据库的表中的方法

    这里使用navicat操作数据库,方法不同可视化工具都是类似的,通用 1.准备好excel文件(格式如下) 也可以使用其他格式,不同格式需要在导入的时候配置一下excel对应的表字段 2.数据库建表( ...

  8. mysql 直接从date 文件夹备份表,还原数据库之后提示 table doesn`t exist的原因和解决方法

    mysql 直接从date 文件夹备份表,还原数据库之后提示 table doesn`t exist的原因和解决方法 参考文章: (1)mysql 直接从date 文件夹备份表,还原数据库之后提示 t ...

  9. mysql四列数据表代码_MySQL数据库常用代码

    MySQL数据库常用代码启动数据库服务:[ net Start MySQL ] 使用命令登录:[ Mysql -h localhost -u root -p] 关闭数据库服务: [net stop m ...

最新文章

  1. Ubuntu 下安装thttpd Web服务器
  2. 自定义对话框控件bate2----20050516
  3. legend3---3、lavarel页面post请求错误之后跳转
  4. 请求外部图片的时候,遇到403的错误的解决方案
  5. C语言知识体系思维导图
  6. GVRP:GARP VLAN 注册协议 - 802.1P、802.1Q (GARP VLAN Registration Protocol - 802.1P、802.1Q)...
  7. Android USB 属性设置:ADB、RNDIS、MTP等
  8. 零美术基础逆袭成为动画师!你需要怎么做?
  9. ZYNQ PS端输出不准确时钟供PL使用
  10. java addall 不能传null_null 之AddAll、Add和Boolean
  11. centos6.5 redis3 开机自动启动命令设置
  12. Eset易视Smart灵巧护卫Security
  13. python turtle库seth_python学习篇,turtle库
  14. word2010公式编辑器 格式设置
  15. js打印去除页眉页脚
  16. 来客推电商|小程序+h5+app商城|含分销拼团砍价等多种引流插件|前后代码开源
  17. 入门设计原则C++实现五:依赖倒置原则
  18. 专访 | 刘嘉松:开源,互惠且共赢
  19. Docker Swarm 维护模式
  20. python高级--数据分析(Pandas库)

热门文章

  1. 我司编写Angular单元测试的一些非正式规范
  2. SAP CRM 中间件Request download里,遇到/SAPPSPRO/S_MAT_ENHANC_COMM 错误的解决办法
  3. 如何获得tomcat管理员账号
  4. EventBus in SAP UI5 and Kyma
  5. Fiori UI上my contact加了Dr. 后搜索不出数据的奇怪问题
  6. SAP云平台和SAP C4C之间的OAuth2.0配置
  7. hybris backoffice和产品主数据相关的一些sample data
  8. SAP ABAP CI/CD持续集成,持续交付解决方案
  9. CL_CRM_PRODIL_EXTENSION
  10. enter opportunity line item detail page AG3