mysql 缺点热备份_一种MySQL数据库的热备份方法与系统与流程

本发明涉及数据库的备份和恢复技术领域,尤其涉及一种MySQL数据库的热备份方法与系统。

背景技术:

目前,MySQL数据库的主要备份方式是逻辑备份和物理备份。

逻辑备份主要通过查询MySQL数据库的表结构和数据,将它们转换成相应的SQL语句,存储到一个文本文件中。其属于热备份,备份时数据库仍可使用,但因为需要占用MySQL数据库服务器资源进行查询,所以当数据量较大时,逻辑备份的速度过慢,而且会对数据库的业务造成较大影响。因为是备份成SQL语句,所以恢复时是重新执行一遍SQL语句,恢复速度慢。

物理备份主要是直接从磁盘复制数据文件作为备份。其备份速度快,恢复速度快,但属于冷备份,不能保证数据的一致性,所以备份时需要停止数据库的运作保持备份数据的一致性。

技术实现要素:

本发明的目的在于解决现有物理备份技术需要停止数据库的技术问题。

为了实现上述目的,本发明提供一种MySQL数据库的热备份方法,包括以下步骤:

S101:在备份开始时,先检查MySQL数据库的日志序列号,然后备份MySQL数据库的数据文件;

S201:在备份数据文件的过程中,同时循环检查MySQL数据库重做日志,对备份过程中数据文件的修改进行备份;

S105:备份完成后,记录此时的日志序列号为下一次备份作准备。

优选的,S101步骤中通过网络将数据文件以去除重复数据块的方式存储到共享存储设备。

优选的,S201步骤中将重做日志中日志序列号大于备份开始时日志序列号的日志记录到一个文件,存储到共享存储设备。

优选的,在S101步骤之后,还包括S102步骤:以上一次的备份作为基础备份选择是否进行增量备份。

优选的,在S102步骤中,选择不进行增量备份,则进入步骤S103:备份MySQL数据库的数据文件,然后进入步骤S105。

优选的,在S102步骤中,选择进行增量备份,则进入步骤S104:备份数据文件中日志序列号大于基础备份的数据页,然后进入步骤S105。

为了实现上述目的,本发明还提供一种MySQL数据库的热备份系统,包括:

物理备份单元,用于备份MySQL数据库的数据文件;

日志监控单元,用于在备份过程中循环检查MySQL数据库的重做日志;

恢复单元,用于当MySQL数据库宕机时,将备份的数据从共享存储设备传输到本机数据库目录中,根据备份的重做日志对数据文件进行恢复。

优选的,所述物理备份单元将数据文件以去除重复数据块的方式存储到共享存储设备。

优选的,在增量备份状况下,所述物理备份单元则将数据文件中日志序列号比基础备份大的数据页备份。

优选的,发生数据修改状况下,所述日志监控单元将日志序列号大于备份开始时日志序列号的重做日志备份。

相对于现有技术,本发明的有益效果如下:

与普通的物理备份方法相比,本发明技术方案保留了物理备份速度快,恢复速度快的优点,克服了它备份前必须停止运行MySQL数据库的缺点。与逻辑备份相比,本发明技术方案备份速度快,而且由于与MySQL数据库服务器交互较少,占用服务器资源少,所以对MySQL数据库业务的影响较小。

本发明技术方案使用去除重复数据块的方式存储备份数据以及可以进行增量备份,极大地节省了备份所需存储空间。

附图说明

图1为本发明一实施例的方法流程示意图。

图2为本发明一实施例的系统结构示意图。

具体实施方式

为了便于对本发明进行理解,下面结合附图及具体实施例对本发明作进一步描述。需要说明的是,在不相冲突的情况下,下述各实施例之间、以及各技术特征之间可以任意组合形成新的实施方案。

如图1所示,一种MySQL数据库的热备份方法,包括:

步骤S101:在备份开始时,先检查MySQL数据库的日志序列号,然后备份MySQL数据库的数据文件;

步骤S201:在备份数据文件的过程中,同时循环检查MySQL数据库重做日志,对备份过程中数据文件的修改进行备份,将重做日志中日志序列号大于备份开始时日志序列号的日志记录到一个文件,存储到共享存储设备;

步骤S105:备份完成后,记录此时的日志序列号为下一次备份作准备。

在一具体的实施例中,S101步骤中通过网络将数据文件以去除重复数据块的方式存储到共享存储设备。

在另一具体的实施例中,在S101步骤之后,还包括S102步骤:以上一次的备份作为基础备份选择是否进行增量备份。

在S102步骤中,若选择不进行增量备份,则进入步骤S103:备份MySQL数据库的数据文件,然后进入步骤S105;若选择进行增量备份,则进入步骤S104:备份数据文件中日志序列号大于基础备份的数据页,然后进入步骤S105。

如图2所示,一种MySQL数据库的热备份系统,包括:

物理备份单元10,用于备份MySQL数据库的数据文件;

日志监控单元20,用于在备份过程中循环检查MySQL数据库的重做日志;

恢复单元30,用于当MySQL数据库宕机时,将备份的数据从共享存储设备传输到本机数据库目录中,根据备份的重做日志对数据文件进行恢复。

在一具体的实施例中,物理备份单元10将数据文件以去除重复数据块的方式存储到共享存储设备。

在一具体的实施例中,在增量备份状况下,物理备份单元10将数据文件中日志序列号比基础备份大的数据页备份。

在一具体的实施例中,发生数据修改状况下,日志监控单元将日志序列号大于备份开始时日志序列号的重做日志备份。

根据上述说明书的揭示和教导,本发明所属领域的技术人员还可以对上述实施方式进行变更和修改,因此,本发明并不局限于上面揭示和描述的具体实施方式,对本发明的一些修改和变更也应当落入本发明的权利要求的保护范围内。此外,尽管本说明书中使用了一些特定的术语,但这些术语只是为了方便说明,并不对本发明构成任何限制。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值