一种容器MySQL主从同步及性能采集实现方法及系统技术方案

技术编号:23288112 阅读:26 留言:0更新日期:2020-02-08 18:10
本发明专利技术涉及一种容器MySQL主从同步及性能采集实现方法及系统。该方法包括:在Kubernetes平台上创建MySQL主从数据库系统,所述MySQL主从数据库系统包括主库及从库,所述主库包括mysql主节点容器、数据发送端容器和主库mysql‑exporter容器,所述主库mysql‑exporter容器用来采集主库mysql性能参数,所述从库包括mysql从节点容器、数据接收端容器和从库mysql‑exporter容器,所述从库mysql‑exporter容器用来采集从库mysql性能参数,从而可以实现对主备节点的性能参数进行采集和监控。

Implementation method and system of master-slave synchronization and performance collection for MySQL container

【技术实现步骤摘要】
一种容器MySQL主从同步及性能采集实现方法及系统
本专利技术涉及云计算
,尤其涉及一种容器MySQL主从同步及性能采集实现方法及系统。
技术介绍
云计算
中,容器技术的出现,改变了应用的运行形态,以kubernetes为代表容器编排系统使得组织、管理大规模容器应用变的方便、自动化。同时,kubernetes也不局限于任何一种编程语言,对现有的编程语言,编程框架,中间件等没有任何侵入性,现有的应用很容易迁移到kubernetes平台。正是由于kubernetes平台这种无侵入性,可以利用现有的MySQL数据备份技术应用到、监控技术,方便、低成本地将Mysql主备集群、监控服务迁移到kubernetes,实现了MySQL主备服务一种全新的部署,管理方式。然而,现有技术中这种基于kubernetes的MySQL数据库系统无法对主备节点的性能参数进行采集,以保障MySQL系统的平稳运行。
技术实现思路
针对现有技术的以上缺陷或改进需求,本专利技术提出了一种基于容器的MySQL主从同步及性能采集实现方法及系统,能够解决现有技术中基于kubernetes的MySQL主从系统实现及MySQL性能采集监问题。根据本专利技术的一个方面,本专利技术的一种容器MySQL主从同步及性能采集实现方法,在kubernetes平台上创建MySQL主从数据库系统,该MySQL主从数据库系统包括主库及从库,主库包括mysql主节点容器、数据发送端容器和主库mysql-exporter容器,主库mysql-exporter容器用来获取主库mysql性能参数,从库包括mysql从节点容器、数据接收端容器和从库mysql-exporter容器,从库mysql-exporter容器用来获取从库mysql性能参数。作为本专利技术的进一步改进,该MySQL主从数据库系统支持多个从库,从库数量可以根据用户需求的动态增加或减少。作为本专利技术的进一步改进,还包括启动主库和启动从库;启动主库包括:启动mysql主节点容器,启动前设置开启binlog服务以记录增量数据;启动数据发送端容器,设置监听服务端口,设置全量备份数据的存储位置;启动主库mysql-exporter容器,定期采集主库mysql性能参数;主库通过创建Kubernetesservice资源对外暴露服务,且主库对外只提供读服务;启动从库包括:启动所从库,对从库进行初始化,从数据发送端容器获取全量备份数据,并将全量备份数据保存在mysql从节点容器的数据目录;启动mysql从节点容器和数据接收端容器,在数据接收端容器恢复全量备份数据,实现主库和从库的基础数据同步;启动从库mysql-exporter容器,定期采集从库mysql性能参数;从库通过创建Kubernetesservice资源对外暴露服务,且从库mysql对外只提供读服务。作为本专利技术的进一步改进,启动主库还包括:启动定时任务,定期对主库数据进行备份。作为本专利技术的进一步改进,恢复全量备份数据并获取增量数据具体是:将全量备份数据恢复到mysql从节点容器的数据目录;利用全量备份数据保存的binlog文件和位置完成对从库的主从同步点配置,并且启动mysqlslave线程;在数据接收端容器内配置mysql用户信息;运行数据接收端服务,启动监听端口;启动mysqlslave线程后,slaveIO线程获取主库binlog文件,slaveSQL线程利用binlog文件获取增量数据。作为本专利技术的进一步改进,采用myqldump工具定期对主库数据进行备份。作为本专利技术的进一步改进,采用myqldump工具将全量备份数据恢复到mysql从节点容器的数据目录。根据本专利技术的另一个方面,本专利技术提供了一种基于Kubernetes的MySQL主从同步数据库系统,其特征在于,包括:主库,主库包括mysql主节点容器、数据发送端容器和主库mysql-exporter容器,主库mysql-exporter容器用来采集主库mysql性能参数;从库,从库包括mysql从节点容器、数据接收端容器和从库mysql-exporter容器,从库mysql-exporter容器用来采集从库mysql性能参数。总体而言,通过本专利技术所构思的以上技术方案与现有技术相比,具有有益效果:创建MySQL系统的主库和从库时,创建有mysql-exporter容器,可以实现对主备节点的性能参数进行采集和监控,例如可以监控MySQL主从数据库的稳定性、吞吐量、连接情况、缓冲池使用情况、查询性能等各项指标,可以保障MySQL系统的平稳运行。并且,可以实现创建多个从库,从而实现MySQL主从数据库系统根据应用需求自动弹性伸缩。另外还可以实现定期对数据进行全量备份,减少数据丢失的风险。附图说明图1是本专利技术实施例一提供的MySQL主从数据库系统结构示意图;图2是本专利技术实施例二提供的一种容器MySQL主从同步及性能采集实现方法的从库启动流程示意图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实例仅仅用以解释本专利技术,并不用于限定本专利技术。此外,下面所描述的本专利技术各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。本专利技术一实施例的一种容器MySQL主从同步及性能采集实现方法,在Kubernetes平台上创建MySQL主从数据库系统,该MySQL主从数据库系统结构如图1所示,包括主库(MasterPOD)及从库(slavePOD),其中,主库包括mysql主节点容器、数据发送端容器和主库mysql-exporter容器,mysql-exporter容器是用来获取主库mysql性能参数。其中,从库包括mysql从节点容器、数据接收端容器和从库mysql-exporter容器,所述从库mysql-exporter容器用来获取从库mysql性能参数。这样,在创建MySQL系统的主库和从库时,创建有mysql-exporter容器,可以实现对主备节点的性能参数进行采集和监控,例如可以监控MySQL主从数据库的稳定性、吞吐量、连接情况、缓冲池使用情况、查询性能等各项指标,可以保障MySQL系统的平稳运行。数据发送端容器可以是运行nc服务的容器,数据接收端容器可以是运行nc服务的容器。可选地,该MySQL主从数据库系统可以包括主库及多个从库,从库数量可以根据用户需求的动态增加或减少。在K8S平台,从库由一组定义相同的资源创建,即同一份yaml文件的资源创建,它们的数量可以动态增加或减少。这样,可以实现MySQL主从数据库系统根据应用需求自动弹性伸缩,slavePOD组可以根据需求动态增加或减少数量而不影响其他slavePOD的运行。并且可以在一个从库宕机无法工作时,其他从本文档来自技高网...

【技术保护点】
1.一种容器MySQL主从同步及性能采集实现方法,其特征在于,/n在Kubernetes平台上创建MySQL主从数据库系统,所述MySQL主从数据库系统包括主库及从库,所述主库包括mysql主节点容器、数据发送端容器和主库mysql-exporter容器,所述主库mysql-exporter容器用来获取所述主库mysql性能参数,所述从库包括mysql从节点容器、数据接收端容器和从库mysql-exporter容器,所述从库mysql-exporter容器用来获取所述从库mysql性能参数。/n

【技术特征摘要】
1.一种容器MySQL主从同步及性能采集实现方法,其特征在于,
在Kubernetes平台上创建MySQL主从数据库系统,所述MySQL主从数据库系统包括主库及从库,所述主库包括mysql主节点容器、数据发送端容器和主库mysql-exporter容器,所述主库mysql-exporter容器用来获取所述主库mysql性能参数,所述从库包括mysql从节点容器、数据接收端容器和从库mysql-exporter容器,所述从库mysql-exporter容器用来获取所述从库mysql性能参数。


2.如权利要求1所述的一种容器MySQL主从同步及性能采集实现方法,其特征在于,
所述MySQL主从数据库系统包括多个所述从库,所述从库数量可以根据用户需求的动态增加或减少。


3.如权利要求1或2所述的一种容器MySQL主从同步及性能采集实现方法,其特征在于,还包括启动所述主库和启动所述从库;
启动所述主库包括:
启动所述mysql主节点容器,启动前设置开启binlog服务来记录增量数据;
启动所述数据发送端容器,设置监听服务端口,设置全量备份数据的存储位置;
启动所述主库mysql-exporter容器,定期采集所述主库mysql性能参数;
所述主库通过创建Kubernetesservice资源对外暴露服务,且所述主库对外只提供读服务;
启动所述从库包括:
启动所述从库,对所述从库进行初始化,从所述存储位置获取所述全量备份数据,并将所述全量备份数据保存在所述mysql从节点容器的数据目录;
启动所述mysql从节点容器和所述数据接收端容器,恢复所述全量备份数据并获取所述增量数据,实现所述主库和所述从库的数据同步;
启动所述从库mysql-exporter容器,定期采集所述从库mysql性能参数;
所述从库通过创建Kubernetesservice资源对外暴露服务,且所述从库mysql对外只提供读服务。

【专利技术属性】
技术研发人员:李志国于超舒添翼
申请(专利权)人:烽火通信科技股份有限公司
类型:发明
国别省市:湖北;42

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

1