The invention discloses a method for recovering MySQL database full-database, which is characterized by the following steps: S100: carving MySQL database files: scanning disk, searching file characteristics and acquiring table data files and table structure files with file characteristics, reorganizing files according to data page numbers and table space identification, and saving table definitions. S200: Associated database file: matches the type of engine that carves and replicates the MySQL database file with the MySQL database, associates the table structure file with the corresponding table data file; S300: Restores the table structure: Determines whether the table data file is associated with the corresponding table structure file, if so, executes S1400; Otherwise, according to Engine type recovery table structure; S400: restore database files.
【技术实现步骤摘要】
一种对MySQL数据库全库的恢复方法
本专利技术属于数据恢复领域,具体涉及一种对MySQL数据库全库的恢复方法。
技术介绍
随着信息时代的来临,对数据的管理和应用都离不开数据库。而MySQL作为一款免费、开源的数据库,深受许多人的钟爱。在MySQL的使用过程中,难免会遇到误操作、人为恶意破坏、软硬件故障等原因对数据库造成损坏,丢失重要数据。此时,对MySQL数据库进行恢复并找回重要数据就至关重要。目前,现有技术中的恢复方案是通过数据库备份和日志的方式进行恢复,更深层次一些的恢复方案是利用文件雕复技术从磁盘中恢复数据库,但这些方法都面临以下一些缺陷:1.需要在备份文件、日志文件或者表结构定义文件完整的情况下做恢复,一旦文件缺失或者损坏将无能为力;2.只能针对特定的MySQL引擎进行恢复;3.针对MySQL压缩数据的恢复显得心有余而力不足;4.很多时候只能针对某个固定表进行恢复。
技术实现思路
本专利技术针对现有技术的不足问题,提出了一种对MySQL数据库全库的恢复方法,通过雕复MySQL数据库文件、关联数据库文件、恢复表结构并最终恢复数据库文件,达到恢复MySQL数据库全库的目的,包括以下步骤:S100:雕复MySQL数据库文件:扫描磁盘,查找文件特征并获取具有所述文件特征的表数据文件及表结构文件,根据数据页编号和表空间标识重组文件,保存表定义文件,其中,所述文件特征包括表结构文件特征和表数据文件特征;S200:关联所述数据库文件:将雕复MySQL数据库文件与MySQL数据库的引擎种类进行匹配,将表结构文件与相应的表数据文件关联;S300:恢复表结构:判断表数据 ...
【技术保护点】
1.一种对MySQL数据库全库的恢复方法,其特征在于包括以下步骤:S100:雕复MySQL数据库文件:扫描磁盘,查找文件特征并获取具有所述文件特征的表数据文件及表结构文件,根据数据页编号和表空间标识重组文件,保存表定义文件,其中,所述文件特征包括表结构文件特征和表数据文件特征;S200:关联所述数据库文件:将雕复MySQL数据库文件与MySQL数据库的引擎种类进行匹配,将表结构文件与相应的表数据文件关联;S300:恢复表结构:判断表数据文件是否与相应的表结构文件关联,如果是,则执行步骤S400;否则,根据所述引擎种类恢复表结构;S400:恢复所述数据库文件:提取表数据文件和表结构文件中各字段数据并组合为表记录,所述表记录为恢复的数据库文件;对于不存在关联表结构的表空间文件进行模糊处理并组合为表记录,所述表记录为恢复的数据库文件。
【技术特征摘要】
1.一种对MySQL数据库全库的恢复方法,其特征在于包括以下步骤:S100:雕复MySQL数据库文件:扫描磁盘,查找文件特征并获取具有所述文件特征的表数据文件及表结构文件,根据数据页编号和表空间标识重组文件,保存表定义文件,其中,所述文件特征包括表结构文件特征和表数据文件特征;S200:关联所述数据库文件:将雕复MySQL数据库文件与MySQL数据库的引擎种类进行匹配,将表结构文件与相应的表数据文件关联;S300:恢复表结构:判断表数据文件是否与相应的表结构文件关联,如果是,则执行步骤S400;否则,根据所述引擎种类恢复表结构;S400:恢复所述数据库文件:提取表数据文件和表结构文件中各字段数据并组合为表记录,所述表记录为恢复的数据库文件;对于不存在关联表结构的表空间文件进行模糊处理并组合为表记录,所述表记录为恢复的数据库文件。2.根据权利要求1所述的一种对MySQL数据库全库的恢复方法,其特征在于,步骤S100包括以下步骤:S101:扫描所述磁盘并查找表结构文件特征和表数据文件特征;S102:判断文件特征是否为所述表结构文件特征,如果是,执行步骤S103,否则为所述表数据文件特征,执行步骤S104;S103:保存表结构文件,然执行步骤S107;S104:根据表数据文件中的表空间标识判断是否存在表空间队列,如果是,执行步骤S106;否则,执行步骤S105;S105:以所述表数据文件的表空间标识为关键字,创建新的表空间队列,将新的表数据文件加入到当前创建的表空间队列中,执行步骤S107;S106:将新的表数据文件加入到当前表空间队列中;S107:判断是否完成磁盘扫描,如果是,执行S108;否则,执行步骤S101;S108:将表空间队列中的表数据文件按数据页中的编号从小到大排序为有序的表数据文件,所述有序的表数据文件称为表空间文件。3.根据权利要求2所述的一种对MySQL数据库全库的恢复方法,其特征在于,所述步骤S200...
【专利技术属性】
技术研发人员:梁效宁,许超明,张强,
申请(专利权)人:四川巧夺天工信息安全智能设备有限公司,
类型:发明
国别省市:四川,51
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。