掌桥专利:专业的专利平台
掌桥专利
首页

技术领域

本发明属于APP后端技术领域,尤其是涉及一种MySQL高可用性的实现方法。

背景技术

目前现有的应用系统使用MySQL进行数据存储时,往往会面对单机MySQL如果宕机致使整个系统瘫痪的问题,及时搭建MySQL主从,仅仅起到备份数据的作用,无法支持系统自动切换数据库,因此目前现有技术存在以下问题:MySQL主从同步,只能做到备份数据的作用,当主机器发生故障,系统无法自动切换数据库,从而瘫痪;MySQL cluster集群虽然能自动切换数据库,但是有诸多限制:不支持外键,数据行不能超过8K,部署、管理、配置很复杂,备份和恢复不方便等问题,因此亟需一种MySQL高可用性的实现方法。

发明内容

有鉴于此,本发明旨在提出一种MySQL高可用性的实现方法,提出了解决应用系统中对MySQL进行使用时高可用的需要提出的解决方案。

为达到上述目的,本发明的技术方案是这样实现的:

第一方面本方案公开了一种MySQL高可用性的实现方法,包括以下步骤;

S1、搭建MySQL主从服务器;

S2、应用系统分别创建与主从MySQL服务器的连接,并维护一个主服务器信息、状态的公共资源与连接的绑定关系,根据主服务器的状态去获取连接,应用系统即为后台服务器;

S3、应用系统开启一个子进程,通过定时配置检测MySQL主从机器的活动状态;

S4、当定时配置检测到主MySQL服务器恢复时,通过文件传输脚本从MySQL从服务器上同步数据文件到MySQL主服务器,并切换回步骤S2中的主机器状态。

进一步的,在步骤S2中,根据主服务器的状态去获取的连接即为与主MySQL服务器建立的连接。

进一步的,在步骤S3中,应用系统开启的子进程即为定时任务。

进一步的,在步骤S3中,当定时任务检测到MySQL主机器故障后,更新步骤S2中的公共资源即主机器的状态信息。

进一步的,在步骤S3中,更新的步骤S2中的公共资源即为主机器的状态信息。

进一步的,应用系统在访问MySQL主从服务器时只需要根据主机器状态选择对应的连接,保证了只要有一台机器还存活即可用,即实现了MySQL的高可用。

进一步的,在步骤S4中,还可以通过连接MySQL的后台服务器通过SQL指令进行数据同步。

第二方面本方案公开了一种电子设备,包括处理器以及与处理器通信连接,且用于存储所述处理器可执行指令的存储器,所述处理器用于执行第一方面所述的一种MySQL高可用性的实现方法。

第三方面本方案公开了一种服务器,包括至少一个处理器,以及与所述处理器通信连接的存储器,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述处理器执行,以使所述至少一个处理器执行第一方面所述的一种MySQL高可用性的实现方法。

第四方面本方案公开了一种计算机可读取存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的一种MySQL高可用性的实现方法。

相对于现有技术,本发明所述的一种MySQL高可用性的实现方法具有以下有益效果:

本发明所述的一种MySQL高可用性的实现方法可以有效利用MySQL自身支持的主从复制来保证数据的准确性,又可以通过自定义定时任务在主机器发生故障时,自动切换数据源,简单灵活的达成MySQL高可用的目的。

附图说明

构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1为本发明实施例所述的一种MySQL高可用性的实现方法示意图。

具体实施方式

需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。

下面将参考附图并结合实施例来详细说明本发明。

如图1所示,本方案公开了一种MySQL高可用性的实现方法,包括以下步骤;

S1、搭建MySQL主从服务器;

S2、应用系统分别创建与主从MySQL服务器的连接,并维护一个主服务器信息、状态的公共资源与连接的绑定关系,根据主服务器的状态去获取连接,应用系统即为后台服务器;

S3、应用系统开启一个子进程,通过定时配置检测MySQL主从机器的活动状态;

S4、当定时配置检测到主MySQL服务器恢复时,通过文件传输脚本从MySQL从服务器上同步数据文件到MySQL主服务器,并切换回步骤S2中的主机器状态。

在步骤S2中,根据主服务器的状态去获取的连接即为与主MySQL服务器建立的连接。

在步骤S3中,应用系统开启的子进程即为定时任务。

在步骤S3中,当定时任务检测到MySQL主机器故障后,更新步骤S2中的公共资源即主机器的状态信息。

在步骤S3中,更新的步骤S2中的公共资源即为主机器的状态信息。

应用系统在访问MySQL主从服务器时只需要根据主机器状态选择对应的连接,保证了只要有一台机器还存活即可用,即实现了MySQL的高可用。

在步骤S4中,还可以通过连接MySQL的后台服务器通过SQL指令进行数据同步。

同时本方案还公开了一种电子设备,包括处理器以及与处理器通信连接,且用于存储所述处理器可执行指令的存储器,所述处理器用于执行第一方面所述的一种MySQL高可用性的实现方法。

同时本方案还公开了一种服务器,包括至少一个处理器,以及与所述处理器通信连接的存储器,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述处理器执行,以使所述至少一个处理器执行第一方面所述的一种MySQL高可用性的实现方法。

同时本方案还公开了一种计算机可读取存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的一种MySQL高可用性的实现方法。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

在本申请所提供的几个实施例中,应该理解到,所揭露的方法和系统,可以通过其它的方式实现。例如,以上所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。上述单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

技术分类

06120113678623