一种MySQL实例状态处理方法及装置制造方法及图纸

技术编号:35267787 阅读:19 留言:0更新日期:2022-10-19 10:33
本发明专利技术涉及云计算技术领域,具体提供了一种MySQL实例状态处理方法,在Kubernetes平台上创建名为MySQLCluster自定义资源,用来存放MySQL实例的集群信息,所述MySQLCluster自定义资源包括MySQLClusterSpec和MySQLClusterStatus两部分;创建关系型数据库MySQL的就绪探针,用来实时检测MySQL服务状态,当MySQL服务发生异常后就绪探针可以实时生成事件,进行声明式配置架构,分别为事件监听、事件转发和事件处理。与现有技术相比,本发明专利技术可以快速准确监测关系型数据库MySQL产品的实例状态,在实例状态与当前实例状态不一致时及时进行MySQL实例的实例状态更新,操作成功后及时对外提供访问权限,进而提高关系型数据库MySQL产品提供服务的时间。库MySQL产品提供服务的时间。库MySQL产品提供服务的时间。

【技术实现步骤摘要】
一种MySQL实例状态处理方法及装置


[0001]本专利技术涉及云计算
,具体提供一种MySQL实例状态处理方法及装置。

技术介绍

[0002]随着Kubernetes技术为代表的容器技术的发展,可以很方便的将应用迁移到Kubernetes平台上,关系型数据库MySQL产品作为基础组件需要迁移到Kubernetes上,提供稳定、可用的服务。然而,关系型数据库MySQL部署在Kubernetes资源上,现有技术只能监听Kubernetes资源的状态,无法实时判断关系型数据库MySQL产品的实例状态。状态更新不及时,不能正确的操作关系型数据库MySQL实例,进而缩短了关系型数据库MySQL产品提供服务的时间。

技术实现思路

[0003]本专利技术是针对上述现有技术的不足,提供一种实用性强的MySQL实例状态处理方法。
[0004]本专利技术进一步的技术任务是提供一种设计合理,安全适用的MySQL实例状态处理装置。
[0005]本专利技术解决其技术问题所采用的技术方案是:
[0006]一种MySQL实例状态处理方法,在Kubernetes平台上创建名为MySQLCluster自定义资源,用来存放MySQL实例的集群信息,所述MySQLCluster自定义资源包括MySQLClusterSpec和MySQLClusterStatus两部分;
[0007]创建关系型数据库MySQL的就绪探针,用来实时检测MySQL服务状态,当MySQL服务发生异常后就绪探针可以实时生成事件,进行声明式配置架构,分别为事件监听、事件转发和事件处理。
[0008]进一步的,所述MySQLClusterSpec中定义了MySQL实例的参数和用户参数;
[0009]所述MySQLClusterStatus定义了MySQL实例状态,还定义了message字段,用来存储失败状态下的报错信息。
[0010]进一步的,所述就绪探针包括:
[0011](a)、监测MySQL服务状态的脚本;
[0012](b)、第一次执行就绪探针的等待时间,周期性执行的间隔时间,就绪探针执行的超时时间。
[0013]进一步的,在所述事件监听时,创建一个基于Kubernetes pod的watcher监听队列,使用声明式配置进行监听MySQL实例资源的事件,包括就绪探针生成的事件;
[0014]根据资源的Label标签筛选出关系型数据库MySQL产品实例的事件。
[0015]进一步的,在时间转发中,
[0016](1)根据事件的不同类型执行相应动作;
[0017](2)解析当前事件信息,获取实例中每个容器的状态,获取事件的message;
[0018](3)获取当前MySQL实例的自定义资源的MySQLCluster的信息,获得当前实例的运行状态;
[0019](4)依据容器状态和MySQLCluster状态进行事件的转发。
[0020]进一步的,在所述事件处理中,事件分发到不同事件处理器,包括实例操作成功处理器、实例操作失败处理器和实例容灾切换处理器。
[0021]进一步的,在所述实例操作成功处理器中,创建MySQL实例成功和MySQL实例磁盘扩容成功、重启MySQL实例成功的逻辑处理,修改自定义资源MySQLCluster的状态来保存操作成功的状态和元数据信息。
[0022]进一步的,在实例操作失败处理器创建MySQL实例失败和MySQL实例磁盘扩容失败、重启MySQL实例的逻辑处理,修改自定义资源MySQLCluster的状态来保存操作失败的状态,将报错信息存到message字段里。
[0023]进一步的,在实例容灾切换处理器中MySQL集群异常修复,当MySQL主节点异常时,进行主从间的切换。
[0024]一种MySQL实例状态处理装置,包括:至少一个存储器和至少一个处理器;
[0025]所述至少一个存储器,用于存储机器可读程序;
[0026]所述至少一个处理器,用于调用所述机器可读程序,执行一种MySQL实例状态处理方法。
[0027]本专利技术的一种MySQL实例状态处理方法及装置和现有技术相比,具有以下突出的有益效果:
[0028]本方法可以快速准确监测关系型数据库MySQL产品的实例状态,在实例状态与当前实例状态不一致时及时进行MySQL实例的实例状态更新,操作成功后及时对外提供访问权限,进而提高关系型数据库MySQL产品提供服务的时间。
附图说明
[0029]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0030]附图1是一种MySQL实例状态处理方法中实例操作成功状态的流程示意图。
具体实施方式
[0031]为了使本
的人员更好的理解本专利技术的方案,下面结合具体的实施方式对本专利技术作进一步的详细说明。显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例都属于本专利技术保护的范围。
[0032]下面给出一个最佳实施例:
[0033]如图1所示,本实施例中的一种MySQL实例状态处理方法,在Kubernetes平台上创建名为MySQLCluster自定义资源(CustomResourceDefinition),用来存放MySQL实例的集群信息,MySQLCluster自定义资源包括MySQLClusterSpec和MySQLClusterStatus两部分。
[0034]MySQLClusterSpec包括:
[0035]定义了一些MySQL实例的参数,比如CPU、内存、磁盘等系统参数;
[0036]还定义了account、password等用户参数。
[0037]MySQLClusterStatus包括:
[0038]定义了MySQL实例状态,包括创建成功、创建失败、重启成功、重启失败、扩容成功、扩容失败、删除成功、删除失败等状态;
[0039]还定义了message字段,用来存储失败状态下的报错信息。
[0040]创建关系型数据库MySQL的就绪探针,用来实时检测MySQL服务状态,当MySQL服务发生异常后就绪探针可以实时生成事件。就绪探针包括:
[0041](a)、监测MySQL服务状态的脚本;
[0042]‑
/bin/sh
[0043][0044]‑
"

c"
[0045]‑
mysql

h localhost

u${ACCOUNT}

p本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种MySQL实例状态处理方法,其特征在于,在Kubernetes平台上创建名为MySQLCluster自定义资源,用来存放MySQL实例的集群信息,所述MySQLCluster自定义资源包括MySQLClusterSpec和MySQLClusterStatus两部分;创建关系型数据库MySQL的就绪探针,用来实时检测MySQL服务状态,当MySQL服务发生异常后就绪探针可以实时生成事件,进行声明式配置架构,分别为事件监听、事件转发和事件处理。2.根据权利要求1所述的一种MySQL实例状态处理方法,其特征在于,所述MySQLClusterSpec中定义了MySQL实例的参数和用户参数;所述MySQLClusterStatus定义了MySQL实例状态,还定义了message字段,用来存储失败状态下的报错信息。3.根据权利要求1或2所述的一种MySQL实例状态处理方法,其特征在于,所述就绪探针包括:(a)、监测MySQL服务状态的脚本;(b)、第一次执行就绪探针的等待时间,周期性执行的间隔时间,就绪探针执行的超时时间。4.根据权利要求3所述的一种MySQL实例状态处理方法,其特征在于,在所述事件监听时,创建一个基于Kubernetes pod的watcher监听队列,使用声明式配置进行监听MySQL实例资源的事件,包括就绪探针生成的事件;根据资源的Label标签筛选出关系型数据库MySQL产品实例的事件。5.根据权利要求4所述的一种MySQL实例状态处理方法,其特征在于,在时间转发中,(1)根据事件的不同类型执行相应动作;...

【专利技术属性】
技术研发人员:庞滨赵山王阳
申请(专利权)人:浪潮云信息技术股份公司
类型:发明
国别省市:

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

1