CN113987068A - 基于脚本的MySQL组复制集群自动配置方法 - Google Patents

基于脚本的MySQL组复制集群自动配置方法 Download PDF

Info

Publication number
CN113987068A
CN113987068A CN202111175350.8A CN202111175350A CN113987068A CN 113987068 A CN113987068 A CN 113987068A CN 202111175350 A CN202111175350 A CN 202111175350A CN 113987068 A CN113987068 A CN 113987068A
Authority
CN
China
Prior art keywords
database
cluster
configuration
configuration file
script
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111175350.8A
Other languages
English (en)
Inventor
陈从宏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Software Co Ltd
Original Assignee
Inspur Software Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inspur Software Co Ltd filed Critical Inspur Software Co Ltd
Priority to CN202111175350.8A priority Critical patent/CN113987068A/zh
Publication of CN113987068A publication Critical patent/CN113987068A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2393Updating materialised views
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种基于脚本的MySQL组复制集群自动配置方法,属于自动化运维、数据库使用技术范畴,涉及服务器配置、shell脚本、MySQL配置部署等内容,通过shell脚本expect非交互的方式,将文件处理、配置文件生成、安装包分发、数据库配置及MySQL组复制开启的过程自动化及流程化,从而实现MySQL组复制集群的自动配置。本发明同时可作为自动化运维的参考方案,用于管理大规模服务器群组,实现非人工干预的方式批量部署应用,或是配置集群免密钥登录远程服务器执行相关操作,减少服务器运维工作量,实现高效运维。

Description

基于脚本的MySQL组复制集群自动配置方法
技术领域
本发明涉及自动化运维、数据库使用技术领域,尤其涉及一种基于脚本的MySQL组复制集群自动配置方法。
背景技术
数据库集群现有的部署方式主要为以下几种方式:
1)根据官方文档提供的详细步骤,分别在所有数据库服务器上手动执行相关操作,其中包括新建用户、编写配置文件、解压缩安装包、更改目录权限、数据库初始化、数据库安全连接配置等,最后配置集群相关信息,开启集群功能;
2)通过脚本方式将一些重复无差别的步骤进行封装,如新建用户、解压缩安装包、更改目录权限、数据库初始化、数据库安全连接配置等步骤,然后分别在所有数据库服务器上编写对应的配置文件,执行封装后的脚本完成安装,最后配置集群相关信息,开启集群功能;
3)借助自动化运维工具Ansible及第二种方式的脚本文件,通过playbook进行集中式管理配置文件,然后通过Ansible工具远程执行脚本文件,完成数据库节点的安装部署,最后分别在所有数据库服务器上配置集群相关信息,开启集群功能;
如上所述,通过方案1)部署数据库集群,需连接所有服务器进行大量重复无差别操作;方案2)则对方案1)进行改进,将重复操作封装后简洁许多,但仍需连接所有服务器分别配置;方案3)集中管理配置文件,并能批量操作数据库服务器进行配置,但需对playbook语法相当熟悉,不利于维护。
发明内容
基于以上技术问题,本发明提供了一种基于脚本的MySQL组复制集群自动配置方法,通过脚本方式配置数据库集群,主要解决两个问题:一方面,高效地批量配置多台数据库服务器,另一方面,自动完成单机数据库配置并开启组复制功能。
本发明的技术方案是:
一种基于脚本的MySQL组复制集群自动配置方法,通过shell脚本expect非交互的方式,将文件处理、配置文件生成、安装包分发、数据库配置及MySQL组复制开启的过程自动化及流程化,从而实现MySQL组复制集群的自动配置。
涉及配置文件生成、非交互式传输文件及登录操作、数据库相关参数配置、数据库自动部署等内容。
进一步的,
配置文件生成,根据预先提供的集群相关信息(主机名、主机IP、root密码、数据库端口、数据库密码、数据目录路径等),通过grep、awk、sed等命令读取配置,更新配置文件模板,生成针对当前环境的配置文件。
非交互式传输文件,根据预先提供的集群节点信息及账号密码,通过expect命令非交互模式自动完成配置文件的分发传输,无需人工干预。
数据库相关参数配置,根据集群相关信息及服务器现有资源,设置数据库相关参数,生成数据库配置文件用于数据库初始化安装。
数据库节点自动安装部署,根据集群节点信息及账号密码,通过expect命令非交互模式远程执行数据库安装脚本,完成数据库节点的初始化操作(初始化root密码及授权管理主机访问以配置组复制功能)。
集中配置并开启数据库组复制功能,根据集群相关信息中提供的数据库账号密码,修改数据库组复制相关参数,利用脚本逐个开启数据库组复制功能,实现高可用数据库集群。
数据库集群状态检查,通过提供的数据库账号密码,连接数据库查询相关视图完成数据库集群的状态检查,确保数据库集群正常运行。
进一步的,整体流程如下,共分为5个步骤:
1)编写集群配置文件,其中第一行为执行脚本所在主机,第二行开始为MySQL集群主机列表;
2)管理主机分发配置文件、部署脚本及数据库安装包至集群各服务器;
3)数据库安装及初始化,首先各个主机初始化本机的数据库配置文件,然后执行数据库安装及初始化步骤,根据配置文件信息修改数据库root账号密码,并授权管理主机远程访问权限;
5)修改组复制相关参数及启动组复制功能,通过修改数据库配置文件,添加配置项,并创建相应复制用户,然后依次开启各节点组复制功能;
6)检查MySQL集群状态,通过查询数据库相关视图获取集群各节点运行状态。
本发明的有益效果是
1)利用脚本非交互式登录进行服务器管理,大幅度提高管理效率及减少工作量。
2)数据库部署实施自动完成,且可根据集群相关信息文件定义不同参数,完成高可用数据库集群的初始化操作。
3)数据库集群集中配置,逐一开启各节点组复制功能,最后通过连接数据库查询相关视图确认集群运行状态。
附图说明
图1是本发明的工作流程示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明是将所有实施部署过程流程化,通过一个脚本完成所有部署工作,实现数据库高可用配置。
通过批量安装数据库软件并根据服务器配置完成相应配置。
通过批量配置数据库以实现MySQL组复制功能。
本发明涉及配置文件生成、非交互式传输文件及登录操作、数据库相关参数配置、数据库自动部署等内容,详细如下:
1)配置文件生成,根据预先提供的集群相关信息(主机名、主机IP、root密码、数据库端口、数据库密码、数据目录路径等),通过grep、awk、sed等命令读取配置,更新配置文件模板,生成针对当前环境的配置文件。
2)非交互式传输文件,根据预先提供的集群节点信息及账号密码,通过expect命令非交互模式自动完成配置文件的分发传输,无需人工干预。
3)数据库相关参数配置,根据集群相关信息及服务器现有资源,设置数据库相关参数,生成数据库配置文件用于数据库初始化安装。
4)数据库节点自动安装部署,根据集群节点信息及账号密码,通过expect命令非交互模式远程执行数据库安装脚本,完成数据库节点的初始化操作(初始化root密码及授权管理主机访问以配置组复制功能)。
5)集中配置并开启数据库组复制功能,根据集群相关信息中提供的数据库账号密码,修改数据库组复制相关参数,利用脚本逐个开启数据库组复制功能,实现高可用数据库集群。
6)数据库集群状态检查,通过提供的数据库账号密码,连接数据库查询相关视图完成数据库集群的状态检查,确保数据库集群正常运行。
工作时,先上传数据库安装包软件,编写集群相关信息,包括主机信息与数据库信息;编写数据库配置文件模板,用于生成各数据库节点配置文件;编写脚本,脚本内容包含文件分发、数据库安装及配置等具体实现步骤。
本发明高效地批量配置多台数据库服务器,通过脚本读取配置文件进行非交互式登录所有服务器,同时传输配置脚本进行部署,简化连接服务器的操作,做到自动化部署。
自动完成单机数据库配置并开启组复制功能,通过集中分发的配置脚本,对数据库安装部署,并根据服务器现有资源配置数据库使用,完成数据库初始化,然后修改组复制相关参数,开启组复制功能。
总而言之,通过脚本方式配置数据库集群,避免了繁琐的配置过程,使得配置过程简单化、自动化,只需运行单个脚本即可完成集群所有节点的安装,同时可通过脚本执行的反馈确认各节点配置进度,如有失败可实时定位具体环节,提高运维实施效率。
以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (8)

1.基于脚本的MySQL组复制集群自动配置方法,其特征在于,
通过shell脚本expect非交互的方式,将文件处理、配置文件生成、安装包分发、数据库配置及MySQL组复制开启的过程自动化及流程化,从而实现MySQL组复制集群的自动配置;包括配置文件生成、非交互式传输文件及登录操作、数据库相关参数配置、数据库自动部署。
2.根据权利要求1所述的方法,其特征在于,
配置文件生成,根据预先提供的集群相关信息,通过命令读取配置,更新配置文件模板,生成针对当前环境的配置文件。
3.根据权利要求1所述的方法,其特征在于,
非交互式传输文件,根据预先提供的集群节点信息及账号密码,通过expect命令非交互模式自动完成配置文件的分发传输,无需人工干预。
4.根据权利要求1所述的方法,其特征在于,
数据库相关参数配置,根据集群相关信息及服务器现有资源,设置数据库相关参数,生成数据库配置文件用于数据库初始化安装。
5.根据权利要求1所述的方法,其特征在于,
数据库节点自动安装部署,根据集群节点信息及账号密码,通过expect命令非交互模式远程执行数据库安装脚本,完成数据库节点的初始化操作。
6.根据权利要求1所述的方法,其特征在于,
集中配置并开启数据库组复制功能,根据集群相关信息中提供的数据库账号密码,修改数据库组复制相关参数,利用脚本逐个开启数据库组复制功能,实现高可用数据库集群。
7.根据权利要求1所述的方法,其特征在于,
数据库集群状态检查,通过提供的数据库账号密码,连接数据库查询相关视图完成数据库集群的状态检查,确保数据库集群正常运行。
8.根据权利要求1所述的方法,其特征在于,
整体流程如下,共分为5个步骤:
1)编写集群配置文件,其中第一行为执行脚本所在主机,第二行开始为MySQL集群主机列表;
2)管理主机分发配置文件、部署脚本及数据库安装包至集群各服务器;
3)数据库安装及初始化,首先各个主机初始化本机的数据库配置文件,然后执行数据库安装及初始化步骤,根据配置文件信息修改数据库root账号密码,并授权管理主机远程访问权限;
5)修改组复制相关参数及启动组复制功能,通过修改数据库配置文件,添加配置项,并创建相应复制用户,然后依次开启各节点组复制功能;
6)检查MySQL集群状态,通过查询数据库相关视图获取集群各节点运行状态。
CN202111175350.8A 2021-10-09 2021-10-09 基于脚本的MySQL组复制集群自动配置方法 Pending CN113987068A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111175350.8A CN113987068A (zh) 2021-10-09 2021-10-09 基于脚本的MySQL组复制集群自动配置方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111175350.8A CN113987068A (zh) 2021-10-09 2021-10-09 基于脚本的MySQL组复制集群自动配置方法

Publications (1)

Publication Number Publication Date
CN113987068A true CN113987068A (zh) 2022-01-28

Family

ID=79737870

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111175350.8A Pending CN113987068A (zh) 2021-10-09 2021-10-09 基于脚本的MySQL组复制集群自动配置方法

Country Status (1)

Country Link
CN (1) CN113987068A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115344273A (zh) * 2022-10-19 2022-11-15 杭州比智科技有限公司 一种基于货架系统来运行应用软件的方法及系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115344273A (zh) * 2022-10-19 2022-11-15 杭州比智科技有限公司 一种基于货架系统来运行应用软件的方法及系统

Similar Documents

Publication Publication Date Title
CN108924217B (zh) 一种分布式云系统自动化部署方法
US9996333B2 (en) Apparatus and method for automating the installation and configuration of infrastructure
CN107450961B (zh) 一种基于Docker容器的分布式深度学习系统及其搭建方法、工作方法
US5870611A (en) Install plan object for network installation of application programs
US20110107299A1 (en) Systems and methods for integrated package development and machine configuration management
CN102404381A (zh) 一种云计算环境下基于工作流的软件部署系统及部署方法
US20110225580A1 (en) Offline configuration and download approach
CN113434158B (zh) 一种大数据组件的自定义管理方法、装置、设备及介质
CN113220416B (zh) 基于云平台的集群节点伸缩系统及实现方法和运行方法
CN115220874B (zh) 一种Kubernetes集群部署方法、装置、设备及存储介质
CN109240716A (zh) 一种大数据平台版本管理与快速迭代部署方法及系统
CN113987068A (zh) 基于脚本的MySQL组复制集群自动配置方法
CN110795105A (zh) 一种配电自动化主站系统自动编译部署方法与系统
CN115629856A (zh) 一种云管平台的运维工具和云管平台的系统运维方法
CN103793264A (zh) 一种桌面虚拟化离线桌面集中管理的实现方法
Teppan et al. A survey on infrastructure-as-code solutions for cloud development
CN113448656A (zh) 基于Ansible的在线脚本执行方法及装置
CN113014416A (zh) 自动配置管理网络设备的方法、系统、设备和存储介质
Xia et al. Design and Implementation of Docker-based Image Repository Management System of Dispatching and Control Cloud
Donno et al. The WorldGrid transatlantic testbed: a successful example of Grid interoperability across EU and US domains
CN112084170A (zh) 基于ansiable的mysql-mha集群一键部署方法及系统
CN113407191A (zh) 一种用于变电站的可视化远程部署方法
CN117908904B (zh) 一种k8s集群部署及运维管理的方法和系统
KR101888792B1 (ko) 데이터 통신 방법 및 이를 포함하는 시스템
CN115840572A (zh) 一种版本包的部署管理方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination