一种MySQL高可用性的实现方法及系统技术方案

技术编号:13202232 阅读:56 留言:0更新日期:2016-05-12 10:58
本发明专利技术公开了一种MySQL高可用性的实现方法,所述方法应用于一种MySQL高可用性的实现系统,所述系统包括主MySQL服务器和备MySQL服务器,所述备MySQL服务器在所述主MySQL服务器正常提供服务时不提供服务,所述方法包括:当所述主MySQL服务器中断提供服务时,所述备MySQL服务器启动服务,以接替所述主MySQL服务器继续提供正常服务。本发明专利技术还公开了一种MySQL高可用性的实现系统。

【技术实现步骤摘要】

本专利技术涉及计算机
,尤其涉及一种MySQL高可用性的实现方法及系统
技术介绍
数据库位于现代企业应用的核心,它存储了组织机构中最有价值的资产,包括客户信息、产品信息、订单信息和历史数据等,因此,保证数据库高可用性至关重要。基于MySQL(MySQL是一个关系型数据库管理系统)与NFS(Network File System,网络文件系统)的高可用服务器搭建已经非常成熟,高可用方案要求数据库可靠和数据库可用,所述数据库可靠指的是数据可靠,所述数据可靠是指数据不能丢失等,所述数据库可用指的是数据库服务可用,所述服务可用是指服务器不能宕机等。但是现有高可用方案存在如下问题=MySQL服务器传输数据时会因网络延迟导致数据丢失,或者因突然断电导致MySQL服务器不可用。而上述问题导致的数据错误会在NFS服务器的数据空间存在,这种情况下MySQL高可用方案就失败了。
技术实现思路
有鉴于此,本专利技术实施例的主要目的在于提供一种MySQL高可用性的实现方法及系统,以实现提高高可用性方案的数据可靠性及服务器可用性的目的。为实现上述目的,本专利技术实施例提供的一种MySQL高可用性的实现方法,所述方法应用于一种MySQL高可用性的实现系统,所述系统包括主MySQL服务器和备MySQL服务器,所述备MySQL服务器在所述主MySQL服务器正常提供服务时不提供服务,所述方法包括:当所述主MySQL服务器中断提供服务时,所述备MySQL服务器启动服务,以接替所述主MySQL服务器继续提供正常服务。可选的,所述备MySQL服务器启动服务,包括:若所述备MySQL服务器基于所述主MySQL服务器中断前产生的错误数据无法正常启动服务,则所述备MySQL服务器提取所述主MySQL服务器中断前的正常操作日志,并从所述操作日志对应的数据状态启动执行。可选的,所述备MySQL服务器按照下述方法确定无法正常启动服务:所述备MySQL服务器基于所述主MySQL服务器中断时的操作数据启动服务,并按照固定时间间隔检测自己是否已经正常启动,如果在设定时间段内未正常启动,则确定无法正常启动服务。可选的,所述主MySQL服务器中断前的正常操作日志为:所述主MySQL服务器中断前最近的一个正常操作日志。本专利技术实施例还提供了一种MySQL高可用性的实现系统,所述系统包括主MySQL月艮务器和备MySQL服务器,所述备MySQL服务器在所述主MySQL服务器正常提供服务时不提供服务;所述备MySQL服务器,用于当所述主MySQL服务器中断提供服务时启动服务,以接替所述主MySQL服务器继续提供正常服务。可选的,所述备MySQL服务器,用于若基于所述主MySQL服务器中断前产生的错误数据无法正常启动服务,则提取所述主MySQL服务器中断前的正常操作日志,并从所述操作日志对应的数据状态启动执行。可选的,所述备MySQL服务器,具体用于基于所述主MySQL服务器中断时的操作数据启动服务,并按照固定时间间隔检测自己是否已经正常启动,如果在设定时间段内未正常启动,则确定无法正常启动服务。可选的,所述主MySQL服务器中断前的正常操作日志为:所述主MySQL服务器中断前最近的一个正常操作日志。本专利技术实施例提供的MySQL高可用性的实现方法及系统,当主MySQL服务器中断提供服务时,通过备MySQL服务器启动服务,以接替所述主MySQL服务器继续提供正常服务,可以继续保证MySQL数据库的高可用性,从而有效解决了因传输延迟导致主MySQL服务器传递的数据丢失、或因某一机房突然断电导致主MySQL服务器断电时造成高可用方案整体失效的问题。【附图说明】为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例MySQL高可用性的实现方法的流程示意图;图2为本专利技术实施例MySQL尚可用性的实现系统的组成不意图。【具体实施方式】为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。在云计算技术不断发展的情况下,高可用尤其是简单易用高并发高10(lnput/Output,输入/输出)的高可用方案已经成为云计算的标配。然而,对于现有高可用性方案中的MySQL服务器,当因传输延迟导致主MySQL服务器传递的数据丢失时、或者因某一机房突然断电导致主MySQL服务器断电时,会造成高可用方案整体失效。采用专利技术实施例,可以解决因网络延迟或者突然服务器断电的情况下导致的高可用方案的失效问题,使高可用在数据安全方面有进一步提升。下面具体介绍本专利技术实施例。参见图1,为本专利技术实施例提供的MySQL高可用性的实现方法的流程示意图,所述方法应用于MySQL高可用性的实现系统,所述系统包括主MySQL服务器和备MySQL服务器,所述备MySQL服务器在所述主MySQL服务器正常提供服务时不提供服务,所述方法包括:步骤101:当所述主MySQL服务器中断提供服务时,所述备MySQL服务器启动服务,以接替所述主MySQL服务器继续提供正常服务。在本专利技术实施例中,通过搭建分别处于主备状态的主备MySQL服务器,使所述MySQL高可用性的实现系统包括:一个主MySQL服务器、一个备MySQL服务器和一个NFS服务器。所述NFS服务器用于以网络文件的形式存储MySQL数据库中的数据,所述主MySQL服务器通过访问所述NFS服务器响应用户对MySQL数据库的读写操作。通常情况下,所述备MySQL月艮务器处于待命状态,即所述主MySQL服务器正常工作的时候,所述备MySQL服务器不提供计算服务。在本专利技术实施例中,如果因传输延迟导致所述主MySQL服务器传递的数据丢失(比如从数据库中提供给用户的部分数据丢失),则所述主MySQL服务器会中断提供服务,或者因某一机房突然断电导致所述主MySQL服务器断电而中断提供服务,当出现这种导致所述主MySQL服务器未能提供正常服务的情况时,所述备MySQL服务器能够接替主MySQL服务器的工作。当所述主MySQL服务器提供的服务挂掉后,可能会产生错误的操作数据,而这种错误数据同时也会在NFS服务器的数据空间存在,由于MySQL的数据位置会配置到一个相同的NFS目录下,所以所述备MySQL服务器在启动时是基于所述相同NFS目录下的数据(即所述主MySQL服务器非正常工作时产生的错误数据)启动,而基于该错误数据很可能会使所述备MySQL服务器不能正常启动。如果遇到这种情况,就需要对所述备MySQL服务器设定单独的程序,以保证在无法直接启动所述备MySQL服务器的情况下,使所述备MySQL服务器能够回退到所述主MySQL服务器崩溃之前的一个日志状态,由于所述主MySQL服务器崩溃之前的一个日志状态是正常的,所以所本文档来自技高网...

【技术保护点】
一种MySQL高可用性的实现方法,其特征在于,所述方法应用于一种MySQL高可用性的实现系统,所述系统包括主MySQL服务器和备MySQL服务器,所述备MySQL服务器在所述主MySQL服务器正常提供服务时不提供服务,所述方法包括:当所述主MySQL服务器中断提供服务时,所述备MySQL服务器启动服务,以接替所述主MySQL服务器继续提供正常服务。

【技术特征摘要】

【专利技术属性】
技术研发人员:李新虎于辉胡玉鹏
申请(专利权)人:浪潮北京电子信息产业有限公司
类型:发明
国别省市:北京;11

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

1