[发明专利]一种基于事务日志的Mysql数据恢复方法有效
申请号: | 202010256751.5 | 申请日: | 2020-04-02 |
公开(公告)号: | CN111459720B | 公开(公告)日: | 2023-07-07 |
发明(设计)人: | 程永新;林小勇 | 申请(专利权)人: | 上海新炬网络技术有限公司 |
主分类号: | G06F11/14 | 分类号: | G06F11/14;G06F16/242 |
代理公司: | 上海科律专利代理事务所(特殊普通合伙) 31290 | 代理人: | 袁亚军 |
地址: | 201707 上海市青浦区外青*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 事务 日志 mysql 数据 恢复 方法 | ||
1.一种基于事务日志的Mysql数据恢复方法,其特征在于,包括如下步骤:
S1:确认误操作的时间点和误操作的数据表;从Mysql数据库中获取事务日志binlog文件;
S2:获取相关的数据参数写入配置文件的数据恢复参数表中;
S3:设置数据恢复规则表,并将数据恢复规则表存入配置文件;
S4:读取配置文件,根据数据恢复参数表中的参数,参照数据恢复规则表生成数据恢复SQL语句;
S5:Mysql数据库执行数据恢复SQL语句完成数据恢复;
所述步骤S2具体包括:
S21:根据步骤S1中的误操作的时间点设置数据恢复开始时间和数据恢复结束时间;
S22:根据数据恢复开始时间和数据恢复结束时间,从事务日志binlog文件中获取数据恢复时间段的事务日志binlog文件;
S23:根据步骤S1中确认的误操作的数据表,确认需要恢复的数据表的表名和表结构,并确认误操作的数据表对应的数据库节点;
S24:设定数据恢复结果文件存储目录;
S25:将数据恢复开始时间、数据恢复结束时间、数据恢复时间段的事务日志binlog文件、数据库节点、数据恢复结果文件存储目录以及误操作的数据表的表名和表结构的信息存入数据恢复参数表;
所述步骤S4具体包括:
S41:确认在数据恢复时间段内,数据库节点生成了数据;
S42:读取数据恢复时间段的事务日志binlog文件,得到使数据库节点生成数据的类SQL的DML操作语句;
S43:将类SQL的DML操作语句结合需要恢复的数据表的表结构转换为标准的操作SQL语句;
S44:将标准的操作SQL语句通过数据恢复规则表生成数据恢复SQL语句;
S45:将生成的数据恢复SQL语句存储到数据恢复结果文件存储目录;
所述数据恢复规则表根据反向SQL操作制定,具体包括默认规则和特别规则,默认规则包括:操作SQL语句为INSERT,数据恢复SQL语句则转换为DELETE;操作SQL语句为DELETE,数据恢复SQL语句则转换为INSERT;操作SQL语句为UPDATE,数据恢复SQL语句则转换为反向的UPDATE;特别规则包括:操作SQL语句为INSERT,参数值为NONE,则不生成数据恢复SQL语句;操作SQL语句为UPDATE,数据恢复SQL语句则转换为INSERT;操作SQL语句为UPDATE,数据恢复SQL语句则转换DELETE+INSERT,即对每一条数据先生成DELETE操作,再生成INSERT操作;操作SQL语句为UPDATE,参数值为NONE,则不生成数据恢复SQL语句;操作SQL语句为DELETE,参数值为NONE,则不生成数据恢复SQL语句。
2.如权利要求1所述的基于事务日志的Mysql数据恢复方法,其特征在于,所述步骤S4还包括将转换的标准操作SQL语句和生成的数据恢复SQL语句进行比对和校验,确认生成的数据恢复SQL语句正确。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海新炬网络技术有限公司,未经上海新炬网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010256751.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种基于区块链技术的服务收费系统及其收费方法
- 下一篇:一种电刷组件