[发明专利]一种基于二进制日志文件恢复MySQL数据库的方法有效
| 申请号: | 201811126400.1 | 申请日: | 2018-09-26 |
| 公开(公告)号: | CN109388523B | 公开(公告)日: | 2021-11-30 |
| 发明(设计)人: | 梁效宁;许超明;张强;刘涛;朱星海 | 申请(专利权)人: | 四川巧夺天工信息安全智能设备有限公司 |
| 主分类号: | G06F11/14 | 分类号: | G06F11/14 |
| 代理公司: | 暂无信息 | 代理人: | 暂无信息 |
| 地址: | 641000 *** | 国省代码: | 四川;51 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 二进制 日志 文件 恢复 mysql 数据库 方法 | ||
1.一种基于二进制日志文件恢复MySQL数据库的方法,其特征在于包括以下步骤:
S100:查找磁盘中MySQL数据库的二进制日志文件,根据二进制日志文件签名获取所述二进制日志文件,所述步骤S100包含以下具体步骤:
S101:查找所述二进制日志文件签名,其中,所述二进制日志文件签名为0xFE62696E;
S102:查找所述二进制日志文件的通用头,读取所述通用头中所述二进制日志文件的创建时间,将所述通用头及对应数据按所述创建时间的顺序进行排列并保存,所述步骤S102的具体步骤如下:
S1021:所述二进制日志文件签名0xFE62696E后连续19字节为所述二进制日志文件的第一通用头;
除所述第一通用头外的其他通用头的寻址方式为:当前通用头的对应数据之后为下一通用头,通用头具有如下表1所示的数据结构:
表1:通用头数据结构
名称 长度(字节) 说明 timestamp 4 日志创建时间 type_code 1 事件类型 serve_id 4 服务id event_length 4 事件长度 end_log_pos 4 事件结束位置 flags 2 版本标志
S1022:根据所述表1的通用头数据结构中事件长度及事件结束位置,读取所述通用头及对应数据,并按所述创建时间的顺序进行排列并保存;
S103:判断是否完成当前二进制日志文件的通用头的查找和保存,如果是,执行步骤S104,否则,执行步骤102,进行下一通用头的查找和保存;
S104:判断是否完成所述磁盘中二进制日志文件签名的查找,如果是,执行步骤S200,否则,执行步骤101;
S200:根据二进制日志文件的格式,解析所述二进制日志文件,获取所述二进制日志文件中表结构及表数据的事件语句,所述步骤S200包含以下具体步骤:
S201:根据所述表1的通用头数据结构,读取所述步骤S102所获取的所述通用头及对应数据;
S202:判断当前事件类型是否为query事件,如果是,执行步骤S203,否则,执行步骤S201;其中,所述表1的通用头数据结构中type_code等于0x02则表示所述事件类型为query事件;
S203:根据如下表2的query事件的数据结构,解析当前query事件,获取包含CREATETABLE、UPDATE、INSERT INTO的事件语句;
表2:query事件的数据结构
S204:判断是否完成所述通用头及对应数据的解析,如果是,执行步骤300,否则,执行步骤201;
S300:对所述事件语句进行词法分析和语义解析,获取当前事件的操作类型,根据所述操作类型进行数据复原,恢复并保存数据结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川巧夺天工信息安全智能设备有限公司,未经四川巧夺天工信息安全智能设备有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811126400.1/1.html,转载请声明来源钻瓜专利网。





