一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

MYSQL数据库的备份方法及装置与流程

2022-06-11 23:15:23 来源:中国专利 TAG:

mysql数据库的备份方法及装置
技术领域
1.本发明涉及计算机技术领域,具体涉及一种mysql数据库的备份方法及装置。


背景技术:

2.现有的互联网产品中,在对相应产品的数据库进行自动备份的时候,往往采用shell脚本的方式实现。
3.现有方法中采用shell脚本自动实现数据库的备份的情况下,数据库的密码会直接明文配置在shell脚本中,存在很大的安全隐患。而数据库中的数据对一个系统来说非常重要,如果出现数据安全问题,直接会导致一个系统崩溃,数据丢失、被窃取或者泄露,将直接对企业或者用户造成巨大损失。
4.因此,如何提出一种方法,能够在实现数据库自动备份的过程中,保障数据库密码的安全,具有十分重要的意义。


技术实现要素:

5.本发明提供一种mysql数据库的备份方法及装置,用以解决现有技术中数据库自动备份的情况下,数据库密码明文存储导致安全隐患的技术问题。
6.第一方面,本发明提供一种mysql数据库的备份方法,包括:
7.对目标数据库的数据库密码进行加密,并缓存加密后的数据库密码;
8.根据所述目标数据库的数据库备份参数和所述加密后的数据库密码,备份所述目标数据库。
9.在一个实施例中,根据所述目标数据库的数据库备份参数和所述加密后的数据库密码,备份所述目标数据库,包括:
10.根据java程序获取所述目标数据库的数据库备份参数以及所述加密后的数据库密码,并调用shell脚本;
11.所述shell脚本用于调用所述目标数据库的备份工具,备份所述目标数据库。
12.在一个实施例中,对目标数据库的数据库密码进行加密,并缓存加密后的数据库密码,包括:
13.根据java程序对目标数据库的数据库密码进行加密,并根据java程序缓存加密后的数据库密码。
14.在一个实施例中,在根据所述目标数据库的数据库备份参数和所述加密后的数据库密码,备份所述目标数据库之后,还包括:
15.在间隔预设时长后,更新备份文件;
16.所述备份文件是根据所述目标数据库的数据库备份参数和所述加密后的数据库密码,备份所述目标数据库得到的。
17.在一个实施例中,所述备份所述目标数据库之后,还包括:
18.压缩所述目标数据库的备份文件,对压缩后的备份文件进行存储。
19.在一个实施例中,所述根据所述目标数据库的数据库备份参数和所述加密后的数据库密码,备份所述目标数据库之前,还包括:
20.确定所述目标数据库的数据库密码是否更新,在所述数据库密码更新的情况下,
21.加密更新的数据库密码,并将加密后的更新的数据库密码替换所述加密后的数据库密码。
22.在一个实施例中,缓存加密后的数据库密码,包括:
23.将加密后的数据库密码缓存到目标文件中,并加密所述目标文件。
24.第二方面,本发明还提供一种mysql数据库的备份装置,包括:
25.数据库密码加密模块,用于对目标数据库的数据库密码进行加密,并缓存加密后的数据库密码;
26.数据库备份模块,用于根据所述目标数据库的数据库备份参数和所述加密后的数据库密码,备份所述目标数据库。
27.第三方面,本发明还提供一种电子设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述任一种的mysql数据库的备份方法。
28.第四方面,本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述任一种的mysql数据库的备份方法。
29.本发明提供的mysql数据库的备份方法、装置、电子设备及存储介质,通过对目标数据库的数据库密码进行加密缓存,根据加密后的数据库密码以及数据库备份参数,对数据库进行备份。避免了数据库自动备份过程中,数据库密码明文存储的安全隐患,在实现了对数据库的自动备份的同时,提高了数据库的安全性。
附图说明
30.为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
31.图1为本发明提供的mysql数据库的备份方法的流程示意图;
32.图2为应用本发明提供的mysql数据库的备份方法的数据库备份工具的备份流程示意图;
33.图3为本发明提供的mysql数据库的备份装置的结构示意图;
34.图4为本发明提供的电子设备的结构示意图。
具体实施方式
35.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
36.图1为本发明提供的mysql数据库的备份方法的流程示意图。参照图1,本发明提供
的mysql数据库的备份方法可以包括:
37.110、对目标数据库的数据库密码进行加密,并缓存加密后的数据库密码;
38.120、根据所述目标数据库的数据库备份参数和所述加密后的数据库密码,备份所述目标数据库。
39.本发明提供的mysql数据库的备份方法的执行主体可以是电子设备、电子设备中的部件、集成电路、或芯片。该电子设备可以是移动电子设备,也可以为非移动电子设备。示例性的,移动电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、可穿戴设备、超级移动个人计算机(ultra-mobile personal computer,umpc)、上网本或者个人数字助理(personal digital assistant,pda)等,非移动电子设备可以为服务器、网络附属存储器(network attached storage,nas)、个人计算机(personal computer,pc)、电视机(television,tv)、柜员机或者自助机等,本发明不作具体限定。
40.下面以计算机执行本发明提供的mysql数据库的备份方法为例,详细说明本发明的技术方案。
41.在步骤110中,检测目标数据库的数据库密码是否加密缓存,在目标数据库的数据库密码没有加密缓存的情况下,对目标数据库的数据库密码进行加密,并缓存加密后的数据库密码。
42.可选地,对目标数据库的数据库密码进行加密。加密方式可以采用消息摘要算法,消息摘要算法可以为md5算法、sha-1算法、sha-224算法、sha-256算法或者sha-384算法等。
43.其中,消息摘要算法是把任意长度的输入揉和而产生长度固定的伪随机输出的算法。无论输入的消息有多长,计算出来的消息摘要的长度总是固定的。例如应用md5算法摘要的消息有128个比特位,用sha-1算法摘要的消息最终有160比特位的输出,sha-1的变体可以产生192比特位和256比特位的消息摘要。一般认为,摘要的最终输出越长,该摘要算法就越安全。
44.可以理解的是,通过对数据库密码进行加密,避免常规数据库备份的过程中,数据库密码以明文的方式存储在shell脚本文件中。使得数据库的密码较为简单就被获取,存在数据库的安全隐患。对数据库密码进行加密存储的方式,提高了数据库的安全性。
45.在步骤120中,在需要对目标数据库进行备份的时候,获取目标数据库加密缓存的密码,对加密后的密码进行解密,并根据目标数据库的数据库备份参数对目标数据库进行备份。
46.目标数据库的备份参数可以包括数据库的ip地址、备份导出的数据库表的信息、导出的数据库的表空间信息、数据库的备份文件路径、备份文件导出过程中忽略的错误类型等。
47.可以理解的是,在对目标数据库进行备份的过程中,根据目标数据库的备份参数和目标数据库预先缓存的数据库密码,可以实现目标数据库的备份。
48.本发明提供的mysql数据库的备份方法,通过对目标数据库的数据库密码进行加密缓存,根据加密后的数据库密码以及数据库备份参数,对数据库进行备份。避免了数据库自动备份过程中,数据库密码明文存储的安全隐患,在实现了对数据库的自动备份的同时,提高了数据库的安全性。
49.在一个实施例中,所述根据所述目标数据库的数据库备份参数和所述加密后的数
据库密码,备份所述目标数据库,包括:根据java程序获取所述目标数据库的数据库备份参数以及所述加密后的数据库密码,并调用shell脚本;所述shell脚本用于调用所述目标数据库的备份工具,备份所述目标数据库。
50.使用java语言进行开发程序,根据确定的java程序获取目标数据库的数据库备份参数。与此同时,根据java程序获取加密后的数据库密码并对所述数据库密码解密,同时获取目标数据库的数据库备份参数。根据java程序调用shell脚本,通过shell脚本调用mysql数据库的备份工具mysqldump,根据解密后的数据库密码和数据库备份参数,实现目标数据库的自动备份。
51.本发明提供的mysql数据库的备份方法,通过java程序获取目标数据库的数据库备份参数以及加密后的数据库密码,并调用shell脚本调用数据库的备份工具,实现目标数据库的备份。通过java语言、shell脚本以及数据库的系统工具结合在一起完成一个功能完整安全的数据库备份操作。
52.在一个实施例中,对目标数据库的数据库密码进行加密,并缓存加密后的数据库密码,包括:根据java程序对目标数据库的数据库密码进行加密,并根据java程序缓存加密后的数据库密码。
53.根据java语言进行开发程序,实现加密算法对目标数据库的数据库密码加密,并对加密后的密码进行缓存。
54.本发明提供的mysql数据库的备份方法,通过java程序对目标数据库的数据库密码进行加密,并根据java程序缓存加密后的数据库密码,实现了数据库密码的安全存储。
55.在一个实施例中,根据所述目标数据库的数据库备份参数和所述加密后的数据库密码,备份所述目标数据库之后,还包括:在间隔预设时长后,更新备份文件;所述备份文件是根据所述目标数据库的数据库备份参数和所述加密后的数据库密码,备份所述目标数据库得到的。
56.在备份数据库得到数据库的备份文件后,根据间隔预设时长,对数据库进行循环备份。即在间隔预设时长后,再次备份目标数据库,得到新的备份文件。与此同时,将新的备份文件覆盖原先的备份文件。
57.本发明提供的mysql数据库的备份方法,在间隔预设时长后,更新备份文件,通过新的备份文件替换原先备份文件的存储方式,在实现数据库循环存储的情况下,节约了存储空间。
58.在一个实施例中,备份所述目标数据库之后,还包括:压缩所述目标数据库的备份文件,对压缩后的备份文件进行存储。
59.对数据库进行备份,得到备份文件。在得到备份文件后,对数据库的备份文件进行压缩后再进行存储。
60.可选地,可以将数据库的备份文件压缩成.zip格式、.gz格式或者.tar.gz格式。对压缩后的备份文件进行存储,减少了存储空间的占用。
61.本发明提供的mysql数据库的备份方法,在备份所述目标数据库之后,压缩目标数据库的备份文件,对压缩后的备份文件进行存储。在实现数据库备份的同时,节约了存储空间。
62.在一个实施例中,根据所述目标数据库的数据库备份参数和所述加密后的数据库
密码,备份所述目标数据库之前,还包括:确定所述目标数据库的数据库密码是否更新,在所述数据库密码更新的情况下,加密更新的数据库密码,并将加密后的更新的数据库密码替换所述加密后的数据库密码。
63.具体地,在备份数据库密码之前,对目标数据库的数据库密码进行检查,确定目标数据库的数据库密码是否更新。若当前目标数据库的数据库密码已经更新,再次对新的密码进行加密存储,替换原先的加密存储的数据库密码。
64.本发明提供的mysql数据库的备份方法,通过确定目标数据库的数据库密码是否更新,在数据库密码更新的情况下,加密更新的数据库密码,并将加密后的更新的数据库密码替换原先的数据库密码。实现了数据库密码的更新。
65.在一个实施例中,将加密后的数据库密码缓存到目标文件中,并加密所述目标文件。
66.将数据库的密码加密后,将加密后的数据库密码缓存到目标文件中。目标文件可以是存储数据库加密后的密码以及数据库备份参数的文件。对目标文件进行再次加密,进一步提高数据库密码的安全性。
67.本发明提供的mysql数据库的备份方法,通过加密后的数据库密码缓存到目标文件中,并加密目标文件。在对数据库密码进行加密存储的同时,通过对存储数据库加密密码的文件再次加密,进一步提升了数据库密码存储的安全性以及可靠性。
68.下面以一应用本发明提供的mysql数据库的备份方法的数据库备份工具的备份流程示意图图2为例,说明本发明提供的技术方案:
69.构建通用的mysql备份工具,此工具实现了mysql配置参数的参数化配置,根据具体的产品参数,配置mysql备份工具的配置参数,就可以应用到不同的产品的数据库备份,确保工具的通用性。
70.在参数配置完成之后,启动程序,程序自动检查是否进行了目标数据库的数据库密码的加密缓存。如果检测不到,则进入数据库密码的加密流程,完成数据库密码加密,并缓存。与此同时,在下一个备份周期,可根据数据库密码和数据库的备份参数,自动完成备份。数据库密码的加密也可以可重复操作,可保证定期密码的加密更新,保护密码安全。
71.使用定时java的定时任务功能,获取加密后的数据库密码并解密,根据数据库密码以及数据库的备份参数,实现备份操作定期自动完成。其中,备份数据库操作也可以手动进行。在系统升级的重要节点,对数据库实时备份是非常必要的,此工具支持手动备份,启动时候可以人机交互选择要进行的备份操作。自动备份和手动备份操作互不干扰,不会因为手动备份导致自动备份进程终止。
72.在完成数据库的备份之后,对备份的数据库备份文件进行压缩,节约系统使用磁盘空间。
73.本发明还提供一种mysql数据库的备份装置,该装置与上文描述的mysql数据库的备份方法可相互对应参照。
74.图3为本发明提供的mysql数据库的备份装置的结构示意图,如图3所示,该装置包括:
75.数据库密码加密模块310,用于对目标数据库的数据库密码进行加密,并缓存加密后的数据库密码;
76.数据库备份模块320,用于根据所述目标数据库的数据库备份参数和所述加密后的数据库密码,备份所述目标数据库。
77.本发明提供的mysql数据库的备份装置,通过对目标数据库的数据库密码进行加密缓存,根据加密后的数据库密码以及数据库备份参数,对数据库进行备份。避免了数据库自动备份过程中,数据库密码明文存储的安全隐患,在实现了对数据库的自动备份的同时,提高了数据库的安全性。
78.在一个实施例中,数据库备份模块320具体用于:
79.根据所述目标数据库的数据库备份参数和所述加密后的数据库密码,备份所述目标数据库,包括:
80.根据java程序获取所述目标数据库的数据库备份参数以及所述加密后的数据库密码,并调用shell脚本;
81.所述shell脚本用于调用所述目标数据库的备份工具,备份所述目标数据库。
82.在一个实施例中,数据库密码加密模块310具体用于:
83.对目标数据库的数据库密码进行加密,并缓存加密后的数据库密码,包括:
84.根据java程序对目标数据库的数据库密码进行加密,并根据java程序缓存加密后的数据库密码。
85.在一个实施例中,数据库备份模块320还具体用于:
86.在根据所述目标数据库的数据库备份参数和所述加密后的数据库密码,备份所述目标数据库之后,还包括:
87.在间隔预设时长后,更新备份文件;
88.所述备份文件是根据所述目标数据库的数据库备份参数和所述加密后的数据库密码,备份所述目标数据库得到的。
89.在一个实施例中,数据库备份模块320还具体用于:
90.所述备份所述目标数据库之后,还包括:
91.压缩所述目标数据库的备份文件,对压缩后的备份文件进行存储。
92.在一个实施例中,数据库备份模块320还具体用于:
93.根据所述目标数据库的数据库备份参数和所述加密后的数据库密码,备份所述目标数据库之前,还包括:
94.确定所述目标数据库的数据库密码是否更新,在所述数据库密码更新的情况下,
95.加密更新的数据库密码,并将加密后的更新的数据库密码替换所述加密后的数据库密码。
96.在一个实施例中,数据库备份模块320还具体用于:
97.缓存加密后的数据库密码,包括:
98.将加密后的数据库密码缓存到目标文件中,并加密所述目标文件。
99.本发明还提供一种电子设备,如图4所示,该电子设备可以包括:处理器(processor)410、通信接口(communication interface)420、存储器(memory)430和通信总线(bus)440,其中,处理器410,通信接口420,存储器430通过通信总线440完成相互间的通信。处理器410可以调用存储器430中的逻辑指令,以执行mysql数据库的备份方法,例如包括:
100.对目标数据库的数据库密码进行加密,并缓存加密后的数据库密码;
101.根据所述目标数据库的数据库备份参数和所述加密后的数据库密码,备份所述目标数据库。
102.此外,上述的存储器430中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
103.另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的mysql数据库的备份方法,例如包括:
104.对目标数据库的数据库密码进行加密,并缓存加密后的数据库密码;
105.根据所述目标数据库的数据库备份参数和所述加密后的数据库密码,备份所述目标数据库。
106.又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例提供的mysql数据库的备份方法,例如包括:
107.对目标数据库的数据库密码进行加密,并缓存加密后的数据库密码;
108.根据所述目标数据库的数据库备份参数和所述加密后的数据库密码,备份所述目标数据库。
109.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
110.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
111.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和
范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献