一种数据库备份方法及装置制造方法及图纸

技术编号:14678533 阅读:51 留言:0更新日期:2017-02-22 11:24
本发明专利技术公开了一种数据库备份方法及装置,通过将数据库中的数据表进行分类,分为历史数据表以及实时业务数据表;对业务数据表进行全量备份;对历史数据表进行增量备份;将备份的业务数据表以及历史数据表存储到介质中,完成数据库的备份。由于大型的mysql数据库中历史数据占用大量的存储空间,实时业务数据较少,因此将历史数据表和实时业务表分开备份,能够减少每次备份的数据量,缩短备份时间以及恢复时间,加快备份速度。可见,本申请快速实现了mysql大型数据库场景下数据库的备份,减少了备份恢复时间、减少了备份文件空间占用,提高了备份恢复的效率以及数据库的安全保障能力。

【技术实现步骤摘要】

本专利技术涉及数据库备份
,特别是涉及一种数据库备份方法及装置
技术介绍
数据备份是容灾的基础,是指为防止系统出现操作失误或系统故障导致数据丢失,而将全部或部分数据集合从应用主机复制到其他的存储介质的过程。Mysql是一种开放源代码的关系型数据库管理系统(RDBMS),mysql数据库系统使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理,提供了mysql的社区开源版本。提供的备份工具有mysqldump、mysqlhotcopy、文本备份。Mysqlhotcopy在社区开源版本只支持myisam引擎备份。Mysqldump命令是mysql自带的逻辑备份工具,可以实现数据库级、表级的备份,备份时把表结构及数据转储成sql到文本文件。Mysqldump能提供数据库一致性备份的控制参数,结合binlog文件能实现innodb引擎表的增量备份。大型数据库场景的特点是数据量大,数据量基本在TB级别以上,当前mysql数据库通常采用事务型的innodb引擎表,在备份mysqlinnodb引擎表时可采用的工具有mysql自带的mysqldump、第三方工具xtrabackup等。由于xtrabackup是做数据库物理文件备份,备份的数据集无法压缩,且备份时需要中转空间,当数据库服务器存储空间紧张时,采用这种方法就会存在很多问题。
技术实现思路
本专利技术的目的是提供一种数据库备份方法及装置,以解决现有mysql大型数据库场景下备份周期长、恢复周期长、备份文件占用空间大的问题。为解决上述技术问题,本专利技术提供一种数据库备份方法,包括:将数据库中的数据表进行分类,分为历史数据表以及实时业务数据表;对所述业务数据表进行全量备份;对所述历史数据表进行增量备份;将备份的所述业务数据表以及所述历史数据表存储到介质中,完成数据库的备份。可选地,所述对所述历史数据表进行增量备份包括:确定所述历史数据表中的当日数据以及新增隔日历史数据;分别对所述当日数据以及所述新增隔日历史数据进行备份。可选地,在对所述新增隔日历史数据进行备份之后还包括:根据预设命名规则对备份文件进行命名。可选地,在所述将备份的所述业务数据表以及所述历史数据表存储到介质中之前还包括:对所述业务数据表以及所述历史数据表进行数据压缩。可选地,还包括:当满足预设条件时,对过期数据进行清理。本专利技术还提供了一种数据库备份装置,包括:分类模块,用于将数据库中的数据表进行分类,分为历史数据表以及实时业务数据表;全量备份模块,用于对所述业务数据表进行全量备份;增量备份模块,用于对所述历史数据表进行增量备份;存储模块,用于将备份的所述业务数据表以及所述历史数据表存储到介质中,完成数据库的备份。可选地,所述增量备份模块具体为:确定所述历史数据表中的当日数据以及新增隔日历史数据;分别对所述当日数据以及所述新增隔日历史数据进行备份的模块。可选地,还包括:命名模块,用于在对所述新增隔日历史数据进行备份之后,根据预设命名规则对备份文件进行命名。可选地,还包括:数据压缩模块,用于在将备份的所述业务数据表以及所述历史数据表存储到介质中之前,对所述业务数据表以及所述历史数据表进行数据压缩。可选地,还包括:清理模块,用于当满足预设条件时,对过期数据进行清理。本专利技术所提供的数据库备份方法及装置,通过将数据库中的数据表进行分类,分为历史数据表以及实时业务数据表;对业务数据表进行全量备份;对历史数据表进行增量备份;将备份的业务数据表以及历史数据表存储到介质中,完成数据库的备份。由于大型的mysql数据库中历史数据占用大量的存储空间,实时业务数据较少,因此将历史数据表和实时业务表分开备份,能够减少每次备份的数据量,缩短备份时间以及恢复时间,加快备份速度。可见,本申请快速实现了mysql大型数据库场景下数据库的备份,减少了备份恢复时间、减少了备份文件空间占用,提高了备份恢复的效率以及数据库的安全保障能力。附图说明为了更清楚的说明本专利技术实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术所提供的数据库备份方法的一种具体实施方式的流程图;图2为本专利技术所提供的数据库备份方法的另一种具体实施方式的流程图;图3为本专利技术实施例提供的数据库备份装置的结构框图。具体实施方式通常生成系统使用的mysql数据库都制定了的备份策略,但mysql大型数据库场景下数据量都比较大,而且mysql作为开源数据库能提供的备份工具有限,导致数据库备份时间长、备份文件占用空间大、备份期间长时间影响数据库正常的业务操作。本专利技术的核心是提供一种数据库备份方法及装置,以提高备份效率。为了使本
的人员更好地理解本专利技术方案,下面结合附图和具体实施方式对本专利技术作进一步的详细说明。显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术所提供的数据库备份方法的一种具体实施方式的流程图如图1所示,该方法包括:步骤S101:将数据库中的数据表进行分类,分为历史数据表以及实时业务数据表;步骤S102:对所述业务数据表进行全量备份;步骤S103:对所述历史数据表进行增量备份;步骤S104:将备份的所述业务数据表以及所述历史数据表存储到介质中,完成数据库的备份。本专利技术所提供的数据库备份方法,通过将数据库中的数据表进行分类,分为历史数据表以及实时业务数据表;对业务数据表进行全量备份;对历史数据表进行增量备份;将备份的业务数据表以及历史数据表存储到介质中,完成数据库的备份。由于大型的mysql数据库中历史数据占用大量的存储空间,实时业务数据较少,因此将历史数据表和实时业务表分开备份,能够减少每次备份的数据量,缩短备份时间以及恢复时间,加快备份速度。可见,本申请快速实现了mysql大型数据库场景下数据库的备份,减少了备份恢复时间、减少了备份文件空间占用,提高了备份恢复的效率以及数据库的安全保障能力。本申请将mysql数据库中数据表进行分类,分为历史数据表和业务数据表。通常在大型的mysql数据库中历史数据占用大量的存储空间,业务实时数据表反而较少,结合mysqldump备份工具实现的备份程序完成备份的调度,输入历史表、业务表、备份条件等自动完成数据库备份。这样将历史数据表和实时业务表分开备份,能够减少每次备份的数据量以缩短备份及恢复时间,加快备份的速度。在上述实施例的基础上,本专利技术所提供的数据库备份方法中对所述历史数据表进行增量备份可以具体为:确定所述历史数据表中的当日数据以及新增隔日历史数据;分别对所述当日数据以及所述新增隔日历史数据进行备份。进一步地,在对所述新增隔日历史数据进行备份之后还包括:根据预设命名规则对备份文件进行命名。将大型数据库中的历史表和业务表分开备份,业务数据表和历史数据当日数据结合mysqlbinlog完成全量和增量备份,单独隔日备份历史表的历史数据,如:7月2号备份7月1号的历史分区数据,此时7月1本文档来自技高网
...
一种数据库备份方法及装置

【技术保护点】
一种数据库备份方法,其特征在于,包括:将数据库中的数据表进行分类,分为历史数据表以及实时业务数据表;对所述业务数据表进行全量备份;对所述历史数据表进行增量备份;将备份的所述业务数据表以及所述历史数据表存储到介质中,完成数据库的备份。

【技术特征摘要】
1.一种数据库备份方法,其特征在于,包括:将数据库中的数据表进行分类,分为历史数据表以及实时业务数据表;对所述业务数据表进行全量备份;对所述历史数据表进行增量备份;将备份的所述业务数据表以及所述历史数据表存储到介质中,完成数据库的备份。2.如权利要求1所述的数据库备份方法,其特征在于,所述对所述历史数据表进行增量备份包括:确定所述历史数据表中的当日数据以及新增隔日历史数据;分别对所述当日数据以及所述新增隔日历史数据进行备份。3.如权利要求2所述的数据库备份方法,其特征在于,在对所述新增隔日历史数据进行备份之后还包括:根据预设命名规则对备份文件进行命名。4.如权利要求1至3任一项所述的数据库备份方法,其特征在于,在所述将备份的所述业务数据表以及所述历史数据表存储到介质中之前还包括:对所述业务数据表以及所述历史数据表进行数据压缩。5.如权利要求4所述的数据库备份方法,其特征在于,还包括:当满足预设条件时,对过期数据进行清理。6.一种数据库备份装置,其特征在于,包括:分类模块,...

【专利技术属性】
技术研发人员:王萌
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南;41

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

1