一种基于MariaDB的数据库恢复的系统和方法

文档序号:9396770阅读:503来源:国知局
一种基于MariaDB的数据库恢复的系统和方法
【技术领域】
[0001]本发明涉及计算机软件行业数据库领域,尤其涉及一种基于MariaDB的数据库恢复的系统和方法。
【背景技术】
[0002]目前,MySQL是互联网行业广泛使用的数据库软件,不过由于甲骨文公司(Oracle)存在将MySQL闭源的风险,许多基于MySQL的应用都面临需要使用替代性的开源数据库软件的问题。MariaDB是对MySQL兼容性最好的替代方案。
[0003]MariaDB数据库管理系统是MySQL数据库管理系统的一个分支,主要由开源社区在维护,采用GPL授权许可MariaDB的目的是完全兼容MySQL,包括API和命令行,使之轻松成为MySQL的代替品。并且,MariaDB在扩展功能、存储引擎以及一些新的功能上甚至强过MySQL0
[0004]对于任何一种数据库来说,数据库恢复均是其不可或缺的功能,MariaDB也不例外。
[0005]现有技术中,MariaDB数据库的恢复方式主要有依据dump备份数据和binlog 二进制日志文本进行数据恢复工作的方式、由其他服务器复制所需数据以及人工修复方式等。
[0006]申请人发现现有技术利用日志文件进行数据库恢复的方式存在如下问题:现有的数据库的恢复方式时间成本非常高,导致数据库长时间无法正常运作,并且人力成本非常高,往往需要多个工程师的长时间处理才能够完成数据恢复工作。

【发明内容】

[0007](一 )要解决的技术问题
[0008]鉴于上述技术问题,本发明提供了一种基于MariaDB的数据库恢复系统及方法,以降低数据库恢复的时间成本和人力成本。
[0009]( 二)技术方案
[0010]本发明提供一种基于MariaDB的数据库恢复系统,数据库已按顺序执行了一个或多个数据库事务,每个数据库事务中按顺序排列有一个或多个数据库命令,数据库恢复系统包括:
[0011]正向明文文本生成模块,用于生成正向明文文本,正向明文文本中包括按执行顺序排列的一个或多个数据库事务;
[0012]反向明文文本生成模块,用于根据正向明文文本,将一个或多个数据库事务的排列顺序反向,将每个数据库事务中数据库命令的执行顺序反向,并对每个数据库命令进行反向转换,得到反向明文文本;
[0013]执行模块,用于将反向明文文本发送给数据库,数据库执行所述反向明文文本,以恢复数据库。
[0014]本发明还提供一种基于MariaDB的数据库恢复方法,包括:
[0015]SI,生成正向明文文本,正向明文文本中包括按执行顺序排列的一个或多个数据库事务;
[0016]S2,根据正向明文文本,将一个或多个数据库事务的排列顺序反向,将每个数据库事务中数据库命令的执行顺序反向,并对每个数据库命令进行反向转换,得到反向明文文本;
[0017]S3,将反向明文文本发送给数据库,数据库执行反向明文文本,以恢复数据库。
[0018](三)有益效果
[0019](I)根据数据恢复命令,在全体数据库事务中,确定出所述一个或多个数据库事务,降低生成明文文本的计算量。
[0020](2)程序自动化处理时无需占用数据库内部的进程,使得MariaDB的集群性能大大提升,有效扩展了 MariaDB的试用范围。
[0021](3)利用程序自动化处理,大大缩短了数据恢复所需要的时间,同时,不再需要多个工程师的长时间处理,大大降低了数据库工程师的人力成本。
【附图说明】
[0022]图1为本发明实施例提供的基于MariaDB的数据库恢复系统的结构图;
[0023]图2为本发明实施例提供的基于MariaDB的数据库恢复方法的流程图;
【具体实施方式】
[0024]本发明提供一种基于MariaDB的数据库恢复系统,包括正向明文文本生成模块、反向明文文本生成模块及执行模块,正向明文文本生成模块用于生成正向明文文本,反向明文文本生成模块用于将正向明文文本中的一个或多个数据库事务的排列顺序反向,将每个数据库事务中数据库命令的执行顺序反向,并对每个数据库命令进行反向转换,得到反向明文文本;执行模块将反向明文文本发送给数据库,数据库执行反向明文文本,以恢复所述数据库。
[0025]在一种实施方式中,执行反向明文文本包括:数据库按照反向明文文本中的数据库事务的排列顺序,执行所述反向明文文本中的数据库事务。
[0026]在一种实施方式中,数据库恢复系统还包括事务确定模块,用于根据数据恢复命令,在全体数据库事务中,确定出一个或多个数据库事务,并传送给正向明文文本生成模块。
[0027]在一种实施方式中,正向明文文本生成模块通过MariaDB的行模式的二进制日志生成所述正向明文文本。
[0028]本发明还提供一种基于MariaDB的数据库恢复方法,包括:
[0029]SI,生成正向明文文本,正向明文文本中包括按执行顺序排列的一个或多个数据库事务;
[0030]S2,根据正向明文文本,将一个或多个数据库事务的排列顺序反向,将每个数据库事务中数据库命令的执行顺序反向,并对每个数据库命令进行反向转换,得到反向明文文本;
[0031]S3,将反向明文文本发送给数据库,数据库执行反向明文文本,以恢复数据库。
[0032]为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
[0033]图1是本发明提供的基于MariaDB的数据库恢复系统的结构图,数据库已按顺序执行了一个或多个数据库事务,所述数据库事务中按顺序排列有一个或多个数据库命令,如图1所示,基于MariaDB的数据库恢复系统包括事务确定模块、正向明文文本生成模块、反向明文文本生成模块及执行模块。
[0034]事务确定模块根据数据恢复命令,在全体数据库事务中,确定出已经在此数据库则执行过的数据库事务,并传送给正向明文文本生成模块,事务确定模块缩小了数据库恢复中涉及的数据库事务数量,减少了后续生成正向明文文本的计算量。
[0035]正向明文文本生成模块通过MariaDB的行模式的二进制日志生成正向明文文本,其中,正
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1