本发明涉及数据库的备份和恢复技术领域,尤其涉及一种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将数据文件中日志序列号比基础备份大的数据页备份。

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

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

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

  1. python构建知识图谱_一种构建知识图谱的方法及系统与流程

    本发明涉及计算机领域,具体涉及一种构建知识图谱的方法及系统. 背景技术: 随着人工智能技术的不断发展,智能机器人被越来越多的应用于人类的生产生活当中. 在智能机器人与人类的交互过程中,为了提高智能机器 ...

  2. php获取h5视频直链,一种H5播放实时视频的方法与系统与流程

    本发明涉及播放实时视频,尤其涉及一种h5播放实时视频的方法与系统. 背景技术: h5是指第5代html,也指用h5语言制作的一切数字产品.所谓html是"超文本标记语言"的英文缩写 ...

  3. ipv6双向网关_一种访问IPv6网络的方法及网关与流程

    本发明涉及数据通信领域,特别涉及一种访问IPv6网络的方法及网关. 背景技术: 随着IPv6网络逐渐普及,IPv6新特性带来的问题也出现了. 在IPv4中,网关下挂设备可以先分配私网地址,当网关接入多 ...

  4. vb mysql 设置数据源_总结 vb与数据库的连接方法

    总结:vb与数据库连接方式,两种分法. 根据是否使用ODBC(驱动程序)来分: 1.有源连接 2.无源连接. 其中有源连接指的是:通过设置数据源(ODBC)来连接 据我的观察无源连接选择的是oledb ...

  5. 计算机怎么取消脱敏设置,一种敏感数据自适应的脱敏方法、系统技术方案

    [技术实现步骤摘要] 一种敏感数据自适应的脱敏方法.系统 本专利技术涉及计算机技术与信息安全领域,并且更具体地,涉及一种敏感数据自适应的脱敏方法.系统. 技术介绍 随着数据时代的到来,数据中蕴藏的巨大 ...

  6. 计算机网络安全通信的实现方法,一种计算机网络安全通信的实现方法及系统的制作方法...

    专利名称:一种计算机网络安全通信的实现方法及系统的制作方法 技术领域: 本发明涉及计算机网络安全通信领域,具体讲本发明是一种关于计算机网络安全通信的 实现方法及系统. 背景技术: 在许多安全相关的高可 ...

  7. mysql数据库预处理_一种MySQL数据库中间件预处理方法与流程

    本发明属于通信领域,特别涉及一种MySQL数据库中间件预处理方法. (二) 背景技术: 通常来说,MySQL集群和应用程序之间需要通过一个中间件来实现通信.中间件的作用是,对于应用程序来说,不需要关心 ...

  8. mysql剪标_一种数据库检索机制的构建方法及系统与流程

    本发明属于网络存储技术领域,尤其涉及一种数据库检索机制的构建方法及系统. 背景技术: 随着互联网技术的发展,云端整套的服务解决方案也在与时俱进.传统的KTV应用数据的落地和使用方案比较单调低效,缺乏先 ...

  9. 分布式mysql保持数据一致性_一种分布式跨数据库保持事务一致性的方法及系统与流程...

    本发明涉及计算机网络技术领域,尤其涉及一种分布式跨数据库保持事务一致性的方法及系统. 背景技术: 目前,分布式服务架构十分的流行,特别是对于电商领域来说.他的优点就不多说了,但是随着集群机器的增加,集 ...

最新文章

  1. 《JavaScript权威指南》笔记(一)
  2. dup and dup2的剖析
  3. 【运筹学】线性规划 单纯形法 ( 原理 | 约定符号 | 目标系数矩阵 C | 目标函数变量矩阵 X | 约束方程常数矩阵 b | 系数矩阵 A | 向量 | 向量符号 | 向量 Pj )
  4. 简单介绍android studio中的Logcat
  5. MATLAB crc.generato,matlab中CRC的函数使用
  6. 意想不到!WordPress安全漏洞98%来自插件
  7. 【opencv】opencv在图片、视频嵌中英文字符的方法
  8. css新奇技术及其未来发展
  9. java电影票选座_jQuery实现电影票选座效果手机端代码
  10. UIBezierPath
  11. 【java】java AsyncHttpClient使用
  12. 生活,不求深刻,只求简单。
  13. gibboncode导入.stl格式模型,进行网格划分
  14. LoRa开发|LoRa无线传输技术介绍
  15. 发送、抄送、密送、分别发送、回复、回复全部、转发的区别(一篇文章研究透彻)
  16. 第三方包的安装及管理
  17. 做服务器销售两个月还没开单,1月15日的销售欠款,2月20日做的收款单,为什么没有...
  18. CentOS7.3+python:zipimport.ZipImportError: can't decompress data; zlib not available报错
  19. 51群接龙-社区社群团购专业营销工具
  20. c语言姓名如何定义,c语言如何输入编号和姓名

热门文章

  1. JavaScript的字面量与变量,嵌入式web开发
  2. Java中Map接口的使用和有关集合的面试知识点补充
  3. canny算子的边缘提取算法
  4. pipeline与make_pipeline
  5. Medkoo Biosciences 艾美捷 Atogepant说明书
  6. 美格智能Cat.1模组功耗到底有多低?一文见真章!
  7. 生肖计算 php,PHP计算天干地支和生肖属性
  8. 上海 2019年互联网校招薪水
  9. 一个中国小业主的异想世界!
  10. echarts折线图、echarts折线图自定义样式