本申请涉及计算机领域,尤其涉及一种数据库升级方法、设备及存储介质。
背景技术:
1、由于数据库(如mysql、redis等)存在安全漏洞问题,因此有升级数据库版本的需求,对于分布式数据库来说,存在主从模式的数据库组合(包括一个主库和至少一个从库)的版本升级,通常的数据库升级方式为“解绑-升级-绑定”的方式。
2、然而,当大量用户对数据库有业务需求时,正在升级版本时的数据库会面临负载资源大,影响用户访问的情况。
3、因此,升级数据库版本存在稳定性较差问题。
技术实现思路
1、本申请提供一种数据库升级方法、设备及存储介质,在数据库升级过程中,不影响数据库正常访问,数据库升级过程中用户无感知,解决了升级数据库版本存在稳定性较差的技术问题。
2、第一方面,本申请提供一种数据库升级方法,应用于分布式数据库,分布式数据库包括原主库和多个从库,原主库与每个从库存在同步关系;方法包括:
3、对原主库进行全量物理备份,得到备份数据;
4、对备份数据进行数据升级,以构建新从库;在得到新从库的过程中,多个从库和原主库均处于正常访问状态;
5、使用新从库替换多个从库中的第一从库,重复上述使用新从库替换多个从库中的第一从库的步骤直至完成对多个从库的升级,得到升级后的多个从库;在升级多个从库的过程中,原主库处于正常访问状态。
6、可选地,如上的方法,使用新从库替换多个从库的第一从库,包括:
7、将新从库与原主库绑定,以及
8、将第一从库与原主库解绑,并删除第一从库。
9、可选地,如上的方法,上述方法还包括:
10、对备份数据进行数据升级,得到第二从库;第二从库与升级后的多个从库中存储的数据相同;
11、从升级后的多个从库以及第二从库中选取目标从库,将目标从库设置为新主库。
12、可选地,如上的方法,同步关系包括同步复制关系、半同步复制关系以及异步复制关系,从升级后的多个从库以及第二从库中选取目标从库,包括:
13、依次遍历升级后的多个从库以及第二从库,获取从库与原主库的同步关系;
14、将首次获取到的与原主库的同步关系为同步复制关系的从库作为目标从库。
15、可选地,如上的方法,从升级后的多个从库以及第二从库中选取目标从库,将目标从库设置为新主库,包括:
16、若原主库当前有数据写入操作,获取数据同步至升级后的多个从库以及第二从库的同步时长;
17、若同步时长小于或等于预设阈值,从升级后的多个从库以及第二从库中选取目标从库,将目标从库设置为新主库。
18、可选地,如上的方法,从升级后的多个从库以及第二从库中选取目标从库,将目标从库设置为新主库之后,方法还包括:
19、将原主库与新主库解绑;
20、删除原主库、以及备份数据;
21、可选地,如上的方法,对原主库进行全量物理备份,得到备份数据之前,方法还包括:
22、接收来自客户端的升级查询请求,获取原主库与从库的数据同步时间;
23、向客户端发送升级查询响应,升级查询响应包括数据同步时间;
24、接收来自客户端的升级反馈信息;
25、若升级反馈信息用于指示用户接受数据同步时间,执行对原主库进行全量物理备份,得到备份数据的步骤。
26、可选地,如上的方法,方法还包括:
27、若升级反馈信息用于指示用户不接受数据同步时间,向客户端发送升级指示请求,升级指示请求用于请求升级分布式数据库的时段;
28、接收来自客户端的升级指示响应;
29、根据升级指示响应中指示的时段,执行对原主库进行全量物理备份,得到备份数据的步骤。
30、第二方面,本申请提供一种数据库升级装置,包括:
31、备份模块,用于对原主库进行全量物理备份,得到备份数据;
32、升级模块,用于对备份数据进行数据升级,以构建新从库;在得到新从库的过程中,多个从库和原主库均处于正常访问状态;
33、替换模块,用于使用新从库替换多个从库中的第一从库,重复上述使用新从库替换多个从库中的第一从库的步骤直至完成对多个从库的升级,得到升级后的多个从库;在升级多个从库的过程中,原主库处于正常访问状态。
34、第三方面,本申请提供一种电子设备,包括:
35、处理器,以及与处理器通信连接的存储器;
36、存储器存储计算机执行指令;
37、处理器执行存储器存储的计算机执行指令,以实现本申请第一方面任一项的方法。
38、第四方面,本申请提供一种计算机可读存储介质,包括:
39、计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现本申请第一方面的方法。
40、第五方面,本申请提供一种计算机程序产品,包括:
41、计算机程序,该计算机程序被处理器执行时实现本申请第一方面任一项的方法。
42、本申请提供的数据库升级方法、设备及存储介质,通过对原主库进行全量物理备份,得到备份数据;对备份数据进行数据升级,以构建新从库;使用新从库替换多个从库中的第一从库,重复使用新从库替换多个从库中的第一从库的步骤直至完成对多个从库的升级,得到升级后的多个从库;同时使用主从切换的思想,保证在升级数据库过程中,分布式数据库处于正常访问状态;在数据库升级过程中,不影响数据库正常访问;本申请的方法,提升了升级数据库版本时的稳定性。
1.一种数据库升级方法,其特征在于,应用于分布式数据库,所述分布式数据库包括原主库和多个从库,所述原主库与每个从库存在同步关系;所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述使用所述新从库替换所述多个从库的第一从库,包括:
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
4.根据权利要求3所述的方法,其特征在于,同步关系包括同步复制关系、半同步复制关系以及异步复制关系,所述从所述升级后的多个从库以及所述第二从库中选取目标从库,包括:
5.根据权利要求3所述的方法,其特征在于,所述从所述升级后的多个从库以及所述第二从库中选取目标从库,将所述目标从库设置为新主库,包括:
6.根据权利要求3所述的方法,其特征在于,所述从所述升级后的多个从库以及所述第二从库中选取目标从库,将所述目标从库设置为新主库之后,所述方法还包括:
7.根据权利要求1至6任一项所述的方法,其特征在于,所述对所述原主库进行全量物理备份,得到备份数据之前,所述方法还包括:
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
9.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至8任一项所述的方法。
