本技术涉及mysql,特别是涉及一种主主架构的数据库部署方法、数据库访问方法及装置。
背景技术:
1、随着车联网技术的发展,车内交互数据使用mysql作为主流的数据访问存储工具,现常用mysql主从架构对数据进行存储及备份,但是,当mysql主节点出现故障时,mysql从节点由于无法自动升级为主节点,使得数据无法正常写入的情况,从而导致业务停摆。因此,现有相关技术满足不了车联网场景下对mysql数据库架构的高读写、高性能、高可用的需求。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种主主架构的数据库部署方法、数据库访问方法及装置,用于解决现有mysql数据库主从架构无法在主节点mysql数据库出现异常时稳定工作的技术问题,通过主主架构的数据库,在出现主节点异常时,可以自动秒级切换热备节点,稳定控制数据库业务进程的有益效果。
2、本技术提供了一种主主架构的数据库部署方法,所述方法包括:
3、获取创建主主架构所需的配置文件;
4、根据安装规则逐一安装所述配置文件后,获取节点管理平台以及至少两个mysql数据库;
5、对所述节点管理平台以及所述mysql数据库执行预设部署配置后,以使所述节点管理平台控制所述mysql数据库之间两两互为主备关系。
6、在其中一个实施例中,所述节点管理平台包括对应于各所述mysql数据库的代理配置项和接入配置项;
7、所述对节点管理平台以及所述mysql数据库执行预设部署配置的步骤,包括:
8、对各所述mysql数据库执行节点自身的预设配置;
9、对各所述mysql数据库执行节点之间的关联配置;
10、对各所述代理配置项执行haproxy配置,以监听各所述mysql数据库的运行状态,并将监听结果反馈给所述接入配置项,以控制各所述mysql数据库的任务分配;
11、对各所述接入配置项执行keepalived配置,以根据所述监听结果分配浮动虚拟ip,使至少一个所述mysql数据库执行主节点的工作任务,至少另一个所述mysql数据库执行热备节点的工作任务。
12、在其中一个实施例中,所述对各mysql数据库执行节点自身的预设配置的步骤,包括:
13、创建所述mysql数据库作为主节点以及热备节点时的配置文件,并启动mysql服务。
14、在其中一个实施例中,所述对各mysql数据库执行节点之间的关联配置的步骤,包括:
15、创建所述mysql数据库节点之间的关联账号,并通过授权以查看master状态;
16、启动slave机制,以配置节点之间的同步信息;
17、当主节点和热备节点处于同步状态时,开启gtid功能。
18、在其中一个实施例中,所述对各代理配置项执行haproxy配置,以监听各所述mysql数据库的运行状态,并将监听结果反馈给所述接入配置项,以控制各所述mysql数据库的任务分配的步骤,包括:
19、通过haproxy增加mysql数据库的监听代理,以监听作为主节点以及作为热备节点的mysql数据库的运行状态;
20、根据运行状态创建haproxy服务的监测脚本。
21、在其中一个实施例中,所述对接入配置项执行keepalived配置,以根据所述监听结果分配浮动虚拟ip,使至少一个所述mysql数据库执行主节点的工作任务,至少另一个所述mysql数据库执行热备节点的工作任务的步骤,包括:
22、通过keepalived分配mysql数据库作为主节点或者热备节点的工作任务,并配置浮动虚拟ip在内的配置信息。
23、本技术提供一种主主架构的数据库访问方法,所述方法包括:
24、接收数据访问请求;
25、根据所述数据访问请求,访问主主架构部署中作为当前主节点的mysql数据库,并反馈访问状态;
26、根据所述访问状态对当前主节点进行故障诊断,以确定当前主节点的mysql数据库出现预设故障问题,反馈故障信息;
27、根据所述故障信息,将所述当前主节点的工作任务切换或分担至所述主主架构部署的热备节点上,以作为新的主节点;
28、将所述数据访问请求指向所述新的主节点上,继续执行访问mysql数据库。
29、本技术提供一种主主架构的数据库访问装置,所述装置包括:
30、请求接收模块,用于接收数据访问请求;
31、数据读取模块,用于根据所述数据访问请求,访问主主架构部署中作为主节点的mysql数据库,或者访问新的主节点的mysql数据库,并反馈访问状态;
32、故障反馈模块,用于根据所述访问状态对当前主节点进行故障诊断,以确定当前主节点的mysql数据库出现预设故障问题,反馈故障信息;
33、节点切换模块,用于根据所述故障信息,将所述当前主节点的工作任务切换或分担至所述主主架构部署的热备节点上,以作为新的主节点。
34、本技术提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
35、接收数据访问请求;
36、根据所述数据访问请求,访问主主架构部署中作为当前主节点的mysql数据库,并反馈访问状态;
37、根据所述访问状态对当前主节点进行故障诊断,以确定当前主节点的mysql数据库发生故障,反馈故障信息;
38、根据所述故障信息,将所述当前主节点的浮动虚拟ip切换至所述主主架构部署的热备节点上,以作为新的主节点;
39、将所述数据访问请求指向所述新的主节点上,以执行访问新的主节点的mysql数据库。
40、本技术提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
41、接收数据访问请求;
42、根据所述数据访问请求,访问主主架构部署中作为当前主节点的mysql数据库,并反馈访问状态;
43、根据所述访问状态对当前主节点进行故障诊断,以确定当前主节点的mysql数据库发生故障,反馈故障信息;
44、根据所述故障信息,将所述当前主节点的浮动虚拟ip切换至所述主主架构部署的热备节点上,以作为新的主节点;
45、将所述数据访问请求指向所述新的主节点上,以执行访问新的主节点的mysql数据库。
46、上述主主架构的数据库部署方法、数据库访问方法及装置,具有以下技术效果:
47、1)由于采用了通过现有配置文件,直接安装部署配置主主架构的数据库,在降低部署成本的基础上,控制mysql数据库之间两两互为主备关系,操作简单实用性强。
48、2)由于采用了主主架构的数据库,且mysql数据库之间两两互为主备关系,当主主架构的数据库对外业务服务的主节点出现异常时,能够秒级切换热备节点,热备节点自动替换异常的主节点,或者热备节点分担承接起异常主节点的部分工作任务。
49、3)由于采用了主主架构的数据库,满足数据运行的高需求,实现故障秒级自动切换、双机双工方式(互备互援)、读写分离、横向易扩展等优势。保障了业务的连续性、健壮性和稳定性。