[发明专利]一种对MySQL数据库全库的恢复方法有效
申请号: | 201810389860.7 | 申请日: | 2018-04-27 |
公开(公告)号: | CN108563535B | 公开(公告)日: | 2021-12-24 |
发明(设计)人: | 梁效宁;许超明;张强 | 申请(专利权)人: | 四川巧夺天工信息安全智能设备有限公司 |
主分类号: | G06F11/14 | 分类号: | G06F11/14;G06F16/22;G06F16/21 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 641000 *** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 mysql 数据库 恢复 方法 | ||
本发明公开了一种对MySQL数据库全库的恢复方法,其特征在于包括以下步骤:S100:雕复MySQL数据库文件:扫描磁盘,查找文件特征并获取具有文件特征的表数据文件及表结构文件,根据数据页编号和表空间标识重组文件,保存表定义文件;S200:关联数据库文件:将雕复MySQL数据库文件与MySQL数据库的引擎种类进行匹配,将表结构文件与相应的表数据文件关联;S300:恢复表结构:判断表数据文件是否与相应的表结构文件关联,如果是,则执行步骤S400;否则,根据引擎种类恢复表结构;S400:恢复数据库文件。
技术领域
本发明属于数据恢复领域,具体涉及一种对MySQL数据库全库的恢复方法。
背景技术
随着信息时代的来临,对数据的管理和应用都离不开数据库。而MySQL作为一款免费、开源的数据库,深受许多人的钟爱。在MySQL的使用过程中,难免会遇到误操作、人为恶意破坏、软硬件故障等原因对数据库造成损坏,丢失重要数据。此时,对MySQL数据库进行恢复并找回重要数据就至关重要。目前,现有技术中的恢复方案是通过数据库备份和日志的方式进行恢复,更深层次一些的恢复方案是利用文件雕复技术从磁盘中恢复数据库,但这些方法都面临以下一些缺陷:
1.需要在备份文件、日志文件或者表结构定义文件完整的情况下做恢复,一旦文件缺失或者损坏将无能为力;
2.只能针对特定的MySQL引擎进行恢复;
3.针对MySQL压缩数据的恢复显得心有余而力不足;
4.很多时候只能针对某个固定表进行恢复。
发明内容
本发明针对现有技术的不足问题,提出了一种对MySQL数据库全库的恢复方法,通过雕复MySQL数据库文件、关联数据库文件、恢复表结构并最终恢复数据库文件,达到恢复MySQL数据库全库的目的,包括以下步骤:
S100:雕复MySQL数据库文件:扫描磁盘,查找文件特征并获取具有所述文件特征的表数据文件及表结构文件,根据数据页编号和表空间标识重组文件,保存表定义文件,其中,所述文件特征包括表结构文件特征和表数据文件特征;
S200:关联所述数据库文件:将雕复MySQL数据库文件与MySQL数据库的引擎种类进行匹配,将表结构文件与相应的表数据文件关联;
S300:恢复表结构:判断表数据文件是否与相应的表结构文件关联,如果是,则执行步骤S400;否则,根据所述引擎种类恢复表结构;
S400:恢复所述数据库文件:提取表数据文件和表结构文件中各字段数据并组合为表记录,所述表记录为恢复的数据库文件;
对于不存在关联表结构的表空间文件进行模糊处理并组合为表记录,所述表记录为恢复的数据库文件。
优选地,步骤S100包括以下步骤:
S101:扫描所述磁盘并查找表结构文件特征和表数据文件特征;
S102:判断文件特征是否为所述表结构文件特征,如果是,执行步骤S103,否则为所述表数据文件特征,执行步骤S104;
S103:保存表结构文件,然执行步骤S107;
S104:根据表数据文件中的表空间标识判断是否存在表空间队列,如果是,执行步骤S106;否则,执行步骤S105;
S105:以所述表数据文件的表空间标识为关键字,创建新的表空间队列,将新的表数据文件加入到当前创建的表空间队列中,执行步骤S107;
S106:将新的表数据文件加入到当前表空间队列中;
S107:判断是否完成磁盘扫描,如果是,执行S108;否则,执行步骤S101;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川巧夺天工信息安全智能设备有限公司,未经四川巧夺天工信息安全智能设备有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810389860.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:适用于NAND闪存的LDPC译码方法
- 下一篇:一种故障修复方法及装置