犀渠玉剑良家子,白马金羁侠少年。这篇文章主要讲述ansible-playbook实现MySQL的二进制部署相关的知识,希望能为你提供帮助。
在第十周作业的《通过编译、二进制安装mysql5.7》一篇中,笔者演示了如何利用二进制来完成指定版本的MySQL安装,但此种方法仅适用于单台主机,如果是企业中,要安装MySQL的主机数量很多,则费时费力。借助于运维自动化软件ansible软件包中的ansible-plabook,可以定制自动化任务,编排剧本工具,相当于脚本,可从而实现MySQL等服务的批量部署。
本次实验,笔者准备了5台虚拟机,ip分别为10.0.0.152-156,其中ip为10.0.0.152的虚拟机作为ansible主控制端,取名为ansible;ip10.0.0.154-156的三台虚拟机是需要进行部署MySQL的被控制端,分别取名db1、db2和db3。
- ?主控制端安装ansible?
- ?基于key验证?
【ansible-playbook实现MySQL的二进制部署】
- ?设置主机清单?
执行 ?ansible all --list-hosts? 命令可以查看主机清单中一共有哪些主机,也可以将all替换成具体的分组名称来查看,例如针对本次实验的三台虚拟机所规划的dbsrvs分组??(如下图)??。
设置完主机清单,建议先用ansible的ping模块来测试ansible主控制端与被控制端之间是否可通,如果返回结果是绿色的,并有pong的回应,即为可通??(如下图)??。
- ?下载MySQL压缩包?
- ?创建playbook剧本?
yaml文件中:
①“hosts”部分限定对象为dbsrvs分组,变量“remote_user”使用root避免执行时出现权限问题,“gather_facts”设为no,即不开启搜集功能,如果开启会影响执行速度;
②“vars”部分将MySQL压缩包分成版本和后缀两部分,方便后面创建软链接,同时“root_password”部分将MySQL数据的登录密*码设置为变量;
③“tasks”部分从上到下分别表示安装依赖包、创建mysql组、创建mysql用户、解压ansible主机压缩包到目标主机并修改文件权限、创建软链接、生成数据库文件存放路径、拷贝MySQL配置文件至目标主机、生成启动脚本文件并添加到启动项、生成PATH变量、开启MySQL服务、设置MySQL登录密*码。
由于规划中的my.cnf文件并不存在,我们需在ansible主机上手动创建一个??(如下图)??。
- ?检查语法并运行?
- ?测试环节?
推荐阅读
- OpenSSL SSL_read: Connection was reset, errno 10054
- ubuntu基础环境设置
- 记录一次PG数据库宕机的REPMGR切换
- ansible-playbook实现Apache批量部署
- ansible快速部署cassandra3集群
- http的报文结构和状态码总结
- 深入剖析Nginx调度算法
- 文件管理——命令4
- 部署PXE远程安装服务