MySQL数据库的合成备份方法和装置制造方法及图纸

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

【技术实现步骤摘要】
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数据库的合成备份方本文档来自技高网...

【技术保护点】
1.一种MySQL数据库的合成备份方法,其特征在于,包括:若当前待备份的数据库是首次备份,则对所述数据库进行完全备份;若当前待备份的数据库不是首次备份,则获取当前待备份的数据库与上一次备份的数据库之间的增量数据,对所述增量数据进行备份;将备份的所述增量数据合成到上一次备份的备份数据中,生成当前次数的备份数据。

【技术特征摘要】
1.一种MySQL数据库的合成备份方法,其特征在于,包括:若当前待备份的数据库是首次备份,则对所述数据库进行完全备份;若当前待备份的数据库不是首次备份,则获取当前待备份的数据库与上一次备份的数据库之间的增量数据,对所述增量数据进行备份;将备份的所述增量数据合成到上一次备份的备份数据中,生成当前次数的备份数据。2.根据权利要求1所述的MySQL数据库的合成备份方法,其特征在于,则获取当前待备份的数据库与上一次备份的数据库之间的增量数据,对所述增量数据进行备份,包括:若待备份的数据库使用的引擎支持事务日志,则确定日志序列号较上次备份大的事务日志对应的数据为增量数据,对所述增量数据进行备份;若待备份的数据库使用的引擎不支持事务日志,则确定全局事务标识相较于上一次备份的备份数据大的二进制日志对应的数据为增量数据,对所述增量数据进行备份。3.根据权利要求1所述的MySQL数据库的合成备份方法,其特征在于,将备份的所述增量数据合成到上一次备份的备份数据中,生成当前次数的备份数据,包括:若所述增量数据使用事务日志,则应用所述事务日志中已经提交的事务,回滚所述事务日志中尚未提交的事务,生成当前次数的备份数据;若所述增量数据使用二进制日志,则将二进制日志以逻辑还原的方式导入到上一次备份的备份数据中,生成当前次数的备份数据。4.根据权利要求1至3任意一项所述的MySQL数据库的合成备份方法,其特征在于,还包括:若成功生成当前次数的备份数据,则生成存储备份数据的数据卷的快照;若未成功生成当前次数的备份数据,则回滚数据卷至上一次备份的状态。5.根据权利要求1至3任意一项所述的MySQL数据库的合成备份方法,其特征在于,...

【专利技术属性】
技术研发人员:范华王子骏马立珂王贤达
申请(专利权)人:广州鼎甲计算机科技有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1