CN109144790A - MySQL数据库的合成备份方法和装置 - Google Patents

MySQL数据库的合成备份方法和装置 Download PDF

Info

Publication number
CN109144790A
CN109144790A CN201811159360.0A CN201811159360A CN109144790A CN 109144790 A CN109144790 A CN 109144790A CN 201811159360 A CN201811159360 A CN 201811159360A CN 109144790 A CN109144790 A CN 109144790A
Authority
CN
China
Prior art keywords
backup
data
database
backed
incremental
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201811159360.0A
Other languages
English (en)
Inventor
范华
王子骏
马立珂
王贤达
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
GUANGZHOU DINGJIA COMPUTER TECHNOLOGY Co Ltd
Original Assignee
GUANGZHOU DINGJIA COMPUTER TECHNOLOGY Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by GUANGZHOU DINGJIA COMPUTER TECHNOLOGY Co Ltd filed Critical GUANGZHOU DINGJIA COMPUTER TECHNOLOGY Co Ltd
Priority to CN201811159360.0A priority Critical patent/CN109144790A/zh
Publication of CN109144790A publication Critical patent/CN109144790A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1453Management of the data involved in backup or backup restore using de-duplication of the data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种MySQL数据库的合成备份方法、装置、计算机设备和计算机可读存储介质,其中方法包括:若当前待备份的数据库是首次备份,则对数据库进行完全备份;若当前待备份的数据库不是首次备份,则获取当前待备份的数据库与上一次备份的数据库之间的增量数据,对增量数据进行备份;将备份的增量数据合成到上一次备份的备份数据中,生成当前次数的备份数据。上述MySQL数据库的合成备份方法,首次备份进行完全备份,后续备份仅需要将增量数据合成到上一次备份数据中,将备份时间缩短为备份增量数据的时间;每次备份得到的新的备份数据都是一个虚拟全备份,连续两个虚拟全备份之间仅存储增量数据,节约了存储空间。有效提升了备份的效率,并减少备份占用的存储空间。

Description

MySQL数据库的合成备份方法和装置
技术领域
本发明涉及数据库备份技术领域,特别是涉及一种MySQL数据库的合成备份方法、装置、计算机设备和计算机可读存储介质。
背景技术
MySQL数据库是一个关系型数据库管理***。由于性能高、成本低、可靠性好,MySQL已经成为最流行的开源数据库之一。为防止硬件故障、软件故障、自然灾害、误操作等导致数据丢失,对MySQL数据库进行备份非常必要。
MySQL数据库常用的备份方法包括逻辑备份、物理备份和日志备份,其中物理备份通过复制数据文件进行备份,无需查询数据库,仅仅备份文件,因而具有较快的备份速度。然而现有的MySQL数据库的物理备份方法,存在占用空间大和备份时间长的问题,备份效率低下。
发明内容
基于此,有必要针对上述现有的MySQL数据库的物理备份方法占用空间大和备份时间长的技术问题,提供一种MySQL数据库的合成备份方法、装置、计算机设备和计算机可读存储介质。
一种MySQL数据库的合成备份方法,包括:
若当前待备份的数据库是首次备份,则对数据库进行完全备份;
若当前待备份的数据库不是首次备份,则获取当前待备份的数据库与上一次备份的数据库之间的增量数据,对增量数据进行备份;
将备份的增量数据合成到上一次备份的备份数据中,生成当前次数的备份数据。
上述MySQL数据库的合成备份方法,除了首次备份进行完全备份外,之后每一次进行的备份仅需要将增量数据合成到上一次备份数据中,将备份时间缩短为备份增量数据的时间;每次增量备份合成到上一次备份数据中得到的新的备份数据都是一个虚拟全备份,连续两个虚拟全备份之间仅存储增量数据,节约了存储空间。从而可以有效提升备份的效率,并减少备份占用的存储空间。
在一个实施例中,若当前待备份的数据库不是首次备份,则获取当前待备份的数据库与上一次备份的数据库之间的增量数据,对增量数据进行备份,包括:
若当前待备份的数据库不是首次备份且待备份的数据库使用的引擎支持事务日志,则确定日志序列号较上次备份大的事务日志对应的数据为增量数据,对增量数据进行备份;若当前待备份的数据库不是首次备份且待备份的数据库使用的引擎不支持事务日志,则确定全局事务标识相较于上一次备份的备份数据大的二进制日志对应的数据为增量数据,对增量数据进行备份。
上述实施例的技术方案,针对数据库使用的引擎支持的日志类型不同,采用不同的方式利用日志的记录确定增量数据,并备份对应的增量数据,无需对数据本身进行比对以确认是否为增量数据,可以快速实现对增量数据的确认和备份。
在一个实施例中,将备份的增量数据合成到上一次备份的备份数据中,生成当前次数的备份数据,包括:
若增量数据使用事务日志,则应用事务日志中已经提交的事务,回滚事务日志中尚未提交的事务,生成当前次数的备份数据;若增量数据使用二进制日志,则将二进制日志以逻辑还原的方式导入到上一次备份的备份数据中,生成当前次数的备份数据。
上述实施例的技术方案,针对使用的日志类型不同,采用不同的方式利用日志的记录将增量数据合成到上一次备份的备份数据中,通过日志的记录对备份数据进行合成,能够更加准确地确定上一次备份的备份数据并进行合成,生成当前次数的备份数据。
在一个实施例中,MySQL数据库的合成备份方法还包括:若成功生成当前次数的备份数据,则生成存储备份数据的数据卷的快照;若未成功生成当前次数的备份数据,则回滚数据卷至上一次备份的状态。
上述实施例的技术方案,在成功生成当前次数的备份数据时,对生成的存储备份数据的数据卷生成快照,保证备份数据的完整性和一致性。而如果当前次数的备份失败,没有成功生成当前次数的备份数据,则回滚数据卷至上一次备份的状态,以清除本次备份的失败数据,待下一次备份时再从上一次备份的状态再次进行备份,确保备份数据的完整性。
在一个实施例中,MySQL数据库的合成备份方法还包括:在首次备份前,在存储服务器中创建独立的数据卷,用于存储备份数据。
上述实施例的技术方案,通过在存储服务器中创建的独立的数据卷用于存储备份数据,后续备份数据的存储、修改和读取都可以从该独立的数据卷中获取,可以方便地对备份数据进行管理。
在一个实施例中,待备份的数据通过网络接入存储或存储区域网络传输至备份服务器。
上述实施例的技术方案,可以实现备份数据的快速传输,提升备份数据的存储和读取的效率。
一种MySQL数据库的合成备份装置,包括:
首次备份模块,用于若当前待备份的数据库是首次备份,则对数据库进行完全备份;
增量备份模块,用于若当前待备份的数据库不是首次备份,则获取当前待备份的数据库与上一次备份的数据库之间的增量数据,对增量数据进行备份;
备份数据生成模块,用于将备份的增量数据合成到上一次备份的备份数据中,生成当前次数的备份数据。
上述MySQL数据库的合成备份装置,除了首次备份进行完全备份外,之后每一次进行的备份仅需要将增量数据合成到上一次备份数据中,将备份时间缩短为备份增量数据的时间;每次增量备份合成到上一次备份数据中得到的新的备份数据都是一个虚拟全备份,连续两个虚拟全备份之间仅存储增量数据,节约了存储空间。从而可以有效提升备份的效率,并减少备份占用的存储空间。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
若当前待备份的数据库是首次备份,则对所述数据库进行完全备份;
若当前待备份的数据库不是首次备份,则获取当前待备份的数据库与上一次备份的数据库之间的增量数据,对所述增量数据进行备份;
将备份的所述增量数据合成到上一次备份的备份数据中,生成当前次数的备份数据。
上述计算机设备,其处理器执行程序时,通过实现如上步骤,从而可以实现除了首次备份进行完全备份外,之后每一次进行的备份仅需要将增量数据合成到上一次备份数据中,将备份时间缩短为备份增量数据的时间;每次增量备份合成到上一次备份数据中得到的新的备份数据都是一个虚拟全备份,连续两个虚拟全备份之间仅存储增量数据,节约了存储空间。从而可以有效提升备份的效率,并减少备份占用的存储空间。
一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
若当前待备份的数据库是首次备份,则对所述数据库进行完全备份;
若当前待备份的数据库不是首次备份,则获取当前待备份的数据库与上一次备份的数据库之间的增量数据,对所述增量数据进行备份;
将备份的所述增量数据合成到上一次备份的备份数据中,生成当前次数的备份数据。
上述计算机可读存储介质,其存储的计算机程序,通过实现如上步骤,从而可以实现除了首次备份进行完全备份外,之后每一次进行的备份仅需要将增量数据合成到上一次备份数据中,将备份时间缩短为备份增量数据的时间;每次增量备份合成到上一次备份数据中得到的新的备份数据都是一个虚拟全备份,连续两个虚拟全备份之间仅存储增量数据,节约了存储空间。从而可以有效提升备份的效率,并减少备份占用的存储空间。
附图说明
图1为一个实施例中MySQL数据库的合成备份方法的应用环境图;
图2为另一个实施例中MySQL数据库的合成备份方法的应用环境图;
图3为一个实施例中MySQL数据库的合成备份方法的流程示意图;
图4为另一个实施例中MySQL数据库的合成备份方法的流程示意图;
图5为又一个实施例中MySQL数据库的合成备份方法的流程示意图;
图6为一个实施例中MySQL数据库的合成备份装置的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供的MySQL数据库的合成备份方法,可以应用于如图1所示的应用环境中。其中,终端110通过网络与服务器120进行通信。服务器120用于存储备份数据以及备份记录,在需要对终端110中的数据库进行备份时,若当前待备份的数据库是首次备份,则终端110对数据库进行完全备份,将完全备份的备份数据存储于服务器120中;若当前待备份的数据库不是首次备份,则终端110获取当前待备份的数据库与上一次备份的数据库之间的增量数据,对所述增量数据进行备份;终端110将备份的所述增量数据合成到服务器120中存储的上一次备份的备份数据中,生成当前次数的备份数据并存储于服务器120中。其中,终端110可以但不限于是各种个人计算机、笔记本电脑、智能手机和平板电脑等,服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在另一个实施例中,如图2所示,服务器120可以进一步包括备份服务器121和存储服务器122,备份时,终端110提交备份记录到备份服务器121,终端110拷贝备份数据到存储服务器122;灾难恢复时,终端110向备份服务器查询备份记录的信息,终端110从存储服务器取得备份数据。
在一个实施例中,如图3所示,提供了一种MySQL数据库的合成备份方法,以该方法应用于图2中的终端为例进行说明,包括以下步骤:
S310,若当前待备份的数据库是首次备份,则对数据库进行完全备份;
其中,终端中可以存储有一个或者多个数据库,待备份的数据库是指的在终端中需要进行备份的数据库,在需要对终端中的某个数据库进行备份时,例如可以是用户主动通过终端向服务器发送备份请求,或者可以是终端或服务器预设有周期性地程序,每隔预设的备份周期,则会自动触发服务器对终端的备份操作。
其中,在对数据库进行首次备份时,会对数据库进行完全备份,即将整个数据库拷贝存储至服务器中。
S320,若当前待备份的数据库不是首次备份,则获取当前待备份的数据库与上一次备份的数据库之间的增量数据,对增量数据进行备份;
其中,当前待备份的数据库与上一次备份的数据库之间的增量数据,是指的当前待备份的数据库相较于上一次备份的数据库而言,增加的或者修改的数据。
S330,将备份的增量数据合成到上一次备份的备份数据中,生成当前次数的备份数据。
在此步骤中,在获取到此次待备份的数据库相较于上一次备份的增量数据并进行备份后,将备份的增量数据合成到上一次备份的备份数据中,生成当前次数的备份数据。
上述MySQL数据库的合成备份方法,除了首次备份进行完全备份外,之后每一次进行的备份仅需要将增量数据合成到上一次备份数据中,将备份时间缩短为备份增量数据的时间;每次增量备份合成到上一次备份数据中得到的新的备份数据都是一个虚拟全备份,连续两个虚拟全备份之间仅存储增量数据,节约了存储空间。从而可以有效提升备份的效率,并减少备份占用的存储空间。
在一个实施例中,如图4所示,S320中若当前待备份的数据库不是首次备份,则获取当前待备份的数据库与上一次备份的数据库之间的增量数据,对增量数据进行备份,包括:
S321,若当前待备份的数据库不是首次备份且待备份的数据库使用的引擎支持事务日志,则确定日志序列号较上次备份大的事务日志对应的数据为增量数据,对增量数据进行备份;
其中,日志记录着数据库所有的增删改的操作。
具体地,若该数据库使用的引擎支持事务日志,则可以通过比较事务日志的LSN(日志序列号),备份LSN较上次备份大的事务日志对应的数据。
S322,若当前待备份的数据库不是首次备份且待备份的数据库使用的引擎不支持事务日志,则确定全局事务标识相较于上一次备份的备份数据大的二进制日志对应的数据为增量数据,对增量数据进行备份。
其中,日志记录着数据库所有的增删改的操作。
具体地,若该数据库使用的引擎不支持事务日志,比较二进制日志的GTID(全局事务ID),备份GTID较上次备份大的二进制日志对应的数据。
上述实施例的技术方案,针对数据库使用的引擎支持的日志类型不同,采用不同的方式利用日志的记录确定增量数据,并备份对应的增量数据,无需对数据本身进行比对以确认是否为增量数据,可以快速实现对增量数据的确认和备份。
在一个实施例中,如图5所示,S330将备份的增量数据合成到上一次备份的备份数据中,生成当前次数的备份数据,包括:
S331,若增量数据使用事务日志,则应用事务日志中已经提交的事务,回滚事务日志中尚未提交的事务,生成当前次数的备份数据;
S332,若增量数据使用二进制日志,则将二进制日志以逻辑还原的方式导入到上一次备份的备份数据中,生成当前次数的备份数据。
上述实施例的技术方案,针对使用的日志类型不同,采用不同的方式利用日志的记录将增量数据合成到上一次备份的备份数据中,通过日志的记录对备份数据进行合成,能够更加准确地确定上一次备份的备份数据并进行合成,生成当前次数的备份数据。
在一个实施例中,MySQL数据库的合成备份方法还包括:
若成功生成当前次数的备份数据,则生成存储备份数据的数据卷的快照;
若未成功生成当前次数的备份数据,则回滚数据卷至上一次备份的状态。
上述实施例的技术方案,在成功生成当前次数的备份数据时,对生成的存储备份数据的数据卷生成快照,保证备份数据的完整性和一致性。而如果当前次数的备份失败,没有成功生成当前次数的备份数据,则回滚数据卷至上一次备份的状态,以清除本次备份的失败数据,待下一次备份时再从上一次备份的状态再次进行备份,确保备份数据的完整性。
在一个实施例中,MySQL数据库的合成备份方法还包括:
在首次备份前,在存储服务器中创建独立的数据卷,用于存储备份数据。具体地,可以在存储服务器中利用ZFS或Btrfs等文件***创建独立的数据卷,以用于存储备份数据。
上述实施例的技术方案,通过在存储服务器中创建的独立的数据卷用于存储备份数据,后续备份数据的存储、修改和读取都可以从该独立的数据卷中获取,可以方便地对备份数据进行管理。
在一个实施例中,待备份的数据通过网络接入存储或存储区域网络传输至备份服务器。具体地,备份数据可以通过DAS(网络接入存储)或SAN(存储区域网络)等网络存储方法传输至备份服务器。
上述实施例的技术方案,可以实现备份数据的快速传输,提升备份数据的存储和读取的效率。
应该理解的是,虽然上述实施例中的各个步骤按照编号依次排列,但是这些步骤并不是必然按照编号的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述实施例的步骤中至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图6所示,提供了一种MySQL数据库的合成备份装置600,包括:
首次备份模块610,用于若当前待备份的数据库是首次备份,则对数据库进行完全备份;
增量备份模块620,用于若当前待备份的数据库不是首次备份,则获取当前待备份的数据库与上一次备份的数据库之间的增量数据,对增量数据进行备份;
备份数据生成模块630,用于将备份的增量数据合成到上一次备份的备份数据中,生成当前次数的备份数据。
上述MySQL数据库的合成备份装置600,除了首次备份进行完全备份外,之后每一次进行的备份仅需要将增量数据合成到上一次备份数据中,将备份时间缩短为备份增量数据的时间;每次增量备份合成到上一次备份数据中得到的新的备份数据都是一个虚拟全备份,连续两个虚拟全备份之间仅存储增量数据,节约了存储空间。从而可以有效提升备份的效率,并减少备份占用的存储空间。
在一个实施例中,增量备份模块620包括:
事务日志备份模块,用于若当前待备份的数据库不是首次备份且待备份的数据库使用的引擎支持事务日志,则确定日志序列号较上次备份大的事务日志对应的数据为增量数据,对增量数据进行备份;
二进制日志备份模块,用于若当前待备份的数据库不是首次备份且待备份的数据库使用的引擎不支持事务日志,则确定全局事务标识相较于上一次备份的备份数据大的二进制日志对应的数据为增量数据,对增量数据进行备份。
在一个实施例中,备份数据生成模块630包括:
事务日志备份数据生成模块,用于若增量数据使用事务日志,则应用事务日志中已经提交的事务,回滚事务日志中尚未提交的事务,生成当前次数的备份数据;
二进制日志备份数据生成模块,用于若增量数据使用二进制日志,则将二进制日志以逻辑还原的方式导入到上一次备份的备份数据中,生成当前次数的备份数据。
在一个实施例中,MySQL数据库的合成备份方法还包括:
在首次备份前,在存储服务器中创建独立的数据卷,用于存储备份数据。
在一个实施例中,待备份的数据通过网络接入存储或存储区域网络传输至备份服务器。
在一个实施例中,MySQL数据库的合成备份方法还包括:
若成功生成当前次数的备份数据,则生成存储备份数据的数据卷的快照;
若未成功生成当前次数的备份数据,则回滚数据卷至上一次备份的状态。关于MySQL数据库的合成备份装置的具体限定可以参见上文中对于MySQL数据库的合成备份方法的限定,在此不再赘述。上述MySQL数据库的合成备份装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
本发明的MySQL数据库的合成备份装置与本发明的MySQL数据库的合成备份方法一一对应,在上述MySQL数据库的合成备份方法的实施例阐述的技术特征及其有益效果均适用于MySQL数据库的合成备份装置的实施例中,特此声明。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
若当前待备份的数据库是首次备份,则对所述数据库进行完全备份;
若当前待备份的数据库不是首次备份,则获取当前待备份的数据库与上一次备份的数据库之间的增量数据,对所述增量数据进行备份;
将备份的所述增量数据合成到上一次备份的备份数据中,生成当前次数的备份数据。
上述计算机设备,其处理器执行程序时,通过实现如上步骤,从而可以实现除了首次备份进行完全备份外,之后每一次进行的备份仅需要将增量数据合成到上一次备份数据中,将备份时间缩短为备份增量数据的时间;每次增量备份合成到上一次备份数据中得到的新的备份数据都是一个虚拟全备份,连续两个虚拟全备份之间仅存储增量数据,节约了存储空间。从而可以有效提升备份的效率,并减少备份占用的存储空间。
本发明实施例所提供的一种计算机设备,其计算机可执行指令不限于如上所述的MySQL数据库的合成备份方法操作,还可以执行本发明任意实施例所提供的MySQL数据库的合成备份方法中的相关操作,且具备相应的功能和有益效果。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
若当前待备份的数据库是首次备份,则对所述数据库进行完全备份;
若当前待备份的数据库不是首次备份,则获取当前待备份的数据库与上一次备份的数据库之间的增量数据,对所述增量数据进行备份;
将备份的所述增量数据合成到上一次备份的备份数据中,生成当前次数的备份数据。
上述计算机可读存储介质,其存储的计算机程序,通过实现如上步骤,从而可以实现除了首次备份进行完全备份外,之后每一次进行的备份仅需要将增量数据合成到上一次备份数据中,将备份时间缩短为备份增量数据的时间;每次增量备份合成到上一次备份数据中得到的新的备份数据都是一个虚拟全备份,连续两个虚拟全备份之间仅存储增量数据,节约了存储空间。从而可以有效提升备份的效率,并减少备份占用的存储空间。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的MySQL数据库的合成备份方法操作,还可以执行本发明任意实施例所提供的MySQL数据库的合成备份方法中的相关操作,且具备相应的功能和有益效果。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可查询存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种MySQL数据库的合成备份方法,其特征在于,包括:
若当前待备份的数据库是首次备份,则对所述数据库进行完全备份;
若当前待备份的数据库不是首次备份,则获取当前待备份的数据库与上一次备份的数据库之间的增量数据,对所述增量数据进行备份;
将备份的所述增量数据合成到上一次备份的备份数据中,生成当前次数的备份数据。
2.根据权利要求1所述的MySQL数据库的合成备份方法,其特征在于,则获取当前待备份的数据库与上一次备份的数据库之间的增量数据,对所述增量数据进行备份,包括:
若待备份的数据库使用的引擎支持事务日志,则确定日志序列号较上次备份大的事务日志对应的数据为增量数据,对所述增量数据进行备份;
若待备份的数据库使用的引擎不支持事务日志,则确定全局事务标识相较于上一次备份的备份数据大的二进制日志对应的数据为增量数据,对所述增量数据进行备份。
3.根据权利要求1所述的MySQL数据库的合成备份方法,其特征在于,将备份的所述增量数据合成到上一次备份的备份数据中,生成当前次数的备份数据,包括:
若所述增量数据使用事务日志,则应用所述事务日志中已经提交的事务,回滚所述事务日志中尚未提交的事务,生成当前次数的备份数据;
若所述增量数据使用二进制日志,则将二进制日志以逻辑还原的方式导入到上一次备份的备份数据中,生成当前次数的备份数据。
4.根据权利要求1至3任意一项所述的MySQL数据库的合成备份方法,其特征在于,还包括:
若成功生成当前次数的备份数据,则生成存储备份数据的数据卷的快照;
若未成功生成当前次数的备份数据,则回滚数据卷至上一次备份的状态。
5.根据权利要求1至3任意一项所述的MySQL数据库的合成备份方法,其特征在于,还包括:
在首次备份前,在存储服务器中创建独立的数据卷,用于存储备份数据。
6.根据权利要求1至3任意一项所述的MySQL数据库的合成备份方法,其特征在于,待备份的数据通过网络接入存储或存储区域网络传输至备份服务器。
7.一种MySQL数据库的合成备份装置,其特征在于,包括:
首次备份模块,用于若当前待备份的数据库是首次备份,则对所述数据库进行完全备份;
增量备份模块,用于若当前待备份的数据库不是首次备份,则获取当前待备份的数据库与上一次备份的数据库之间的增量数据,对所述增量数据进行备份;
备份数据生成模块,用于将备份的所述增量数据合成到上一次备份的备份数据中,生成当前次数的备份数据。
8.根据权利要求7所述的MySQL数据库的合成备份装置,其特征在于,增量备份模块包括:
事务日志备份模块,用于若当前待备份的数据库不是首次备份且待备份的数据库使用的引擎支持事务日志,则确定日志序列号较上次备份大的事务日志对应的数据为增量数据,对所述增量数据进行备份;
二进制日志备份模块,用于若当前待备份的数据库不是首次备份且待备份的数据库使用的引擎不支持事务日志,则确定全局事务标识相较于上一次备份的备份数据大的二进制日志对应的数据为增量数据,对所述增量数据进行备份。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6任意一项所述的MySQL数据库的合成备份方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任意一项所述的MySQL数据库的合成备份方法的步骤。
CN201811159360.0A 2018-09-30 2018-09-30 MySQL数据库的合成备份方法和装置 Pending CN109144790A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811159360.0A CN109144790A (zh) 2018-09-30 2018-09-30 MySQL数据库的合成备份方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811159360.0A CN109144790A (zh) 2018-09-30 2018-09-30 MySQL数据库的合成备份方法和装置

Publications (1)

Publication Number Publication Date
CN109144790A true CN109144790A (zh) 2019-01-04

Family

ID=64814258

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811159360.0A Pending CN109144790A (zh) 2018-09-30 2018-09-30 MySQL数据库的合成备份方法和装置

Country Status (1)

Country Link
CN (1) CN109144790A (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110083490A (zh) * 2019-04-29 2019-08-02 浙江豪联信息科技有限公司 一种数据库备份方法、还原方法以及存储介质
CN110389937A (zh) * 2019-07-26 2019-10-29 上海英方软件股份有限公司 一种基于数据库数据同步传输文件的方法及***
CN111158958A (zh) * 2019-12-31 2020-05-15 广州鼎甲计算机科技有限公司 一种可快速恢复数据的备份方法、***、装置及存储介质
CN111625397A (zh) * 2020-04-14 2020-09-04 北京捷通华声科技股份有限公司 业务日志备份方法、集群、装置、电子设备及存储介质
CN112835918A (zh) * 2021-02-19 2021-05-25 浪潮云信息技术股份公司 一种MySQL数据库增量同步实现方法
CN112882862A (zh) * 2021-02-22 2021-06-01 广州鼎甲计算机科技有限公司 邮箱数据恢复方法、装置、计算机设备和存储介质
CN113722152A (zh) * 2021-08-05 2021-11-30 四川大学 一种数据增量备份方法、装置、设备及存储介质
CN115373903A (zh) * 2022-08-30 2022-11-22 广州鼎甲计算机科技有限公司 逻辑备份方法、装置、计算机设备和存储介质

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5644698A (en) * 1996-05-30 1997-07-01 International Business Machines Corporation Configurable reuse delay criterion for storage volumes
US5842222A (en) * 1996-10-04 1998-11-24 Taiwan Semiconductor Manufacturing Company, Ltd. Production information system enhanced for availability
US8041679B1 (en) * 2008-06-04 2011-10-18 Symantec Operating Corporation Synthetic differential backups creation for a database using binary log conversion
CN105630626A (zh) * 2014-11-03 2016-06-01 中兴通讯股份有限公司 事务备份处理方法及装置
CN106354583A (zh) * 2016-08-30 2017-01-25 广州鼎甲计算机科技有限公司 一种MySQL数据库的热备份方法与***
CN106383861A (zh) * 2016-08-31 2017-02-08 网易(杭州)网络有限公司 一种用于数据库的数据同步方法及装置
CN106407356A (zh) * 2016-09-07 2017-02-15 网易(杭州)网络有限公司 一种数据备份方法及装置
CN106610876A (zh) * 2015-10-23 2017-05-03 中兴通讯股份有限公司 数据快照的恢复方法及装置
CN107066357A (zh) * 2017-05-31 2017-08-18 广州鼎甲计算机科技有限公司 一种数据库合成备份和挂载恢复方法
CN107229537A (zh) * 2017-05-31 2017-10-03 广州鼎甲计算机科技有限公司 一种数据库实时备份方法
CN107291787A (zh) * 2016-04-13 2017-10-24 中兴通讯股份有限公司 主备数据库切换方法和装置

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5644698A (en) * 1996-05-30 1997-07-01 International Business Machines Corporation Configurable reuse delay criterion for storage volumes
US5842222A (en) * 1996-10-04 1998-11-24 Taiwan Semiconductor Manufacturing Company, Ltd. Production information system enhanced for availability
US8041679B1 (en) * 2008-06-04 2011-10-18 Symantec Operating Corporation Synthetic differential backups creation for a database using binary log conversion
CN105630626A (zh) * 2014-11-03 2016-06-01 中兴通讯股份有限公司 事务备份处理方法及装置
CN106610876A (zh) * 2015-10-23 2017-05-03 中兴通讯股份有限公司 数据快照的恢复方法及装置
CN107291787A (zh) * 2016-04-13 2017-10-24 中兴通讯股份有限公司 主备数据库切换方法和装置
CN106354583A (zh) * 2016-08-30 2017-01-25 广州鼎甲计算机科技有限公司 一种MySQL数据库的热备份方法与***
CN106383861A (zh) * 2016-08-31 2017-02-08 网易(杭州)网络有限公司 一种用于数据库的数据同步方法及装置
CN106407356A (zh) * 2016-09-07 2017-02-15 网易(杭州)网络有限公司 一种数据备份方法及装置
CN107066357A (zh) * 2017-05-31 2017-08-18 广州鼎甲计算机科技有限公司 一种数据库合成备份和挂载恢复方法
CN107229537A (zh) * 2017-05-31 2017-10-03 广州鼎甲计算机科技有限公司 一种数据库实时备份方法

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
GANESH PRASAD,华中兴业科技发展有限公司: "《Linux部署专业技术》", 31 March 2001, 人民邮电出版社 *
余洪春: "《构建高可用Linux服务器》", 31 October 2014 *
史晓红: "《网络安全完全技术宝典》", 31 March 2010, 中国铁道出版社 *
唐铸文: "《数据库原理及应用》", 31 July 2003 *
喻梅: "《数据库应用技术》", 30 June 2013, 天津大学出版社 *
布拉德福,施耐德: "《Effective MySQL之深入解析复制技术》", 31 January 2014 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110083490A (zh) * 2019-04-29 2019-08-02 浙江豪联信息科技有限公司 一种数据库备份方法、还原方法以及存储介质
CN110389937A (zh) * 2019-07-26 2019-10-29 上海英方软件股份有限公司 一种基于数据库数据同步传输文件的方法及***
CN111158958A (zh) * 2019-12-31 2020-05-15 广州鼎甲计算机科技有限公司 一种可快速恢复数据的备份方法、***、装置及存储介质
CN111625397A (zh) * 2020-04-14 2020-09-04 北京捷通华声科技股份有限公司 业务日志备份方法、集群、装置、电子设备及存储介质
CN111625397B (zh) * 2020-04-14 2023-09-12 北京捷通华声科技股份有限公司 业务日志备份方法、集群、装置、电子设备及存储介质
CN112835918A (zh) * 2021-02-19 2021-05-25 浪潮云信息技术股份公司 一种MySQL数据库增量同步实现方法
CN112882862A (zh) * 2021-02-22 2021-06-01 广州鼎甲计算机科技有限公司 邮箱数据恢复方法、装置、计算机设备和存储介质
CN112882862B (zh) * 2021-02-22 2022-05-17 广州鼎甲计算机科技有限公司 邮箱数据恢复方法、装置、计算机设备和存储介质
CN113722152A (zh) * 2021-08-05 2021-11-30 四川大学 一种数据增量备份方法、装置、设备及存储介质
CN115373903A (zh) * 2022-08-30 2022-11-22 广州鼎甲计算机科技有限公司 逻辑备份方法、装置、计算机设备和存储介质

Similar Documents

Publication Publication Date Title
CN109144790A (zh) MySQL数据库的合成备份方法和装置
US9710331B2 (en) Data storage method, data recovery method, related apparatus, and system
CN106776130B (zh) 一种日志恢复方法、存储装置和存储节点
US20150213100A1 (en) Data synchronization method and system
US8448023B2 (en) Approach for data integrity in an embedded device environment
CN109976947B (zh) 一种面向混合内存的掉电恢复的方法和***
CN109460438A (zh) 消息数据存储方法、装置、计算机设备和存储介质
CN111046024B (zh) 一种共享存储数据库的数据处理方法、装置、设备及介质
CN111078662A (zh) 一种区块链数据存储方法与装置
US8639968B2 (en) Computing system reliability
US20190317686A1 (en) Method, apparatus, device and storage medium for processing data location of storage device
CN103838645B (zh) 一种基于哈希的远程差异合成备份实现方法
CN108920301A (zh) 数据备份方法以及***、数据恢复方法以及***
WO2022105442A1 (zh) 一种基于纠删码的数据重构方法、装置、设备及存储介质
WO2022033269A1 (zh) 数据处理的方法、设备及***
CN104991739A (zh) 元数据服务器失效接替中精确一次执行语义的方法及***
KR102049417B1 (ko) Nvdimm을 이용한 인-메모리 데이터베이스 기반의 데이터 저장 및 복원 방법
CN113821377B (zh) 一种分布式存储集群的数据恢复方法、***及存储介质
CN111124740A (zh) 一种数据读取方法、装置、存储设备及机器可读存储介质
CN111581023B (zh) 银行内存数据处理方法及装置
CN112000521B (zh) 分布式数据库***的全量备份方法、装置及计算机可读存储介质
JP2014170352A (ja) 情報システムおよびデータベース復旧方法
CN111897676A (zh) 一种基于数据库索引的文件备份方法及装置
CN113742132B (zh) 一种存储***故障修复方法及装置
CN117472292B (zh) 独立磁盘冗余阵列的数据重构方法及存储***、控制器

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20190104

RJ01 Rejection of invention patent application after publication