自动化运维(2)之一键式单实例安装MySQL
ZMySQLAutoTools文档
目标:自动化构建部署MySQL数据库,一键式单实例mysql安装,备份,监控,主从集群部署等。以及jdk,tomcat,nginx等基础中间件的自动化部署安装及运维。
此文档:完成一键式单实例mysql安装功能,可以完成批量标准化部署MySQL单实例。用于测试,开发以及生产环境。
目录
环境准备
本实验为:4台虚拟机,操作系统为:Centos 6.8(6以上均可)
主机名 | ip地址 | 备注 |
---|---|---|
host_50 | 10.1.11.50 | 主控机 |
host_51 | 10.1.11.51 | 被控客户端 |
host_52 | 10.1.11.52 | 被控客户端 |
host_53 | 10.1.11.53 | 被控客户端 |
解压ZMySQLAutoTools
1):获得ZMySQLAutoTools安装包
cd /tmp/
wget https://github.com/zhangshengdong/ZMySQLAutoTools/archive/master.zip
2):解压ZMySQLAutoTools安装包
unzip master
mv ZMySQLAutoTools-master /usr/local/ZMySQLAutoTools
python3.x安装
在ZMySQLAutoTools/packages/python/目录下,有相关的python安装包,通过 installPython.sh 安装部署
# yum install -y libselinux-python
# cd /usr/local/ZMySQLAutoTools/packages/python/
# bash installPython.sh
输出日志为:
.....
Collecting setuptools
Collecting pip
Installing collected packages: setuptools, pip
Successfully installed pip-9.0.1 setuptools-28.8.0
......
说明安装成功
查看版本:
source /etc/profile
python3 --version
ansible安装
在ZMySQLAutoTools/packages/ansible/目录下,有相关的ansible安装包,通过 ins_ansible.sh 安装部署
# source /etc/profile
# cd /usr/local/ZMySQLAutoTools/packages/ansible
# bash ins_ansible.sh
输出日志为:
Using /usr/local/python-3.6.2/lib/python3.6/site-packages
Finished processing dependencies for ansible==2.4.0.0
说明安装成功
配置ansible
1):编辑ansible的配置文件
- 增加ansible的配置文件
mkdir -p /etc/ansible
touch /etc/ansible/hosts
- 配置/etc/ansible/hosts文件,内容如下:
host_50 ansible_user=root ansible_host=10.1.11.50
host_51 ansible_user=root ansible_host=10.1.11.51
host_52 ansible_user=root ansible_host=10.1.11.52
host_53 ansible_user=root ansible_host=10.1.11.53
2):配置主控机与被控机之间的ssh信任
ssh-keygen
ssh-copy-id root@10.1.11.50
ssh-copy-id root@10.1.11.51
ssh-copy-id root@10.1.11.52
ssh-copy-id root@10.1.11.53
3):测试ansible是否成功
举例命令:
ansible all -m ping //检测所有主机是否pingOK
ansible all -a "/bin/echo hello" //对所有主机执行hello脚本
ansible all -a "df -h" //对所有主机检测硬盘
ansible host_53 -m command -a 'hostname'//对主机host_53,查看hostname的名字
ansible all -m shell -a 'ps -ef |grep mysql' //对所有主机检测mysql进程
ping命令的检测效果日志日志如下:
[root@MHA-Manager ansible]# ansible all -m ping
host_50 | SUCCESS => {
"changed": false,
"failed": false,
"ping": "pong"
}
host_51 | SUCCESS => {
"changed": false,
"failed": false,
"ping": "pong"
}
host_53 | SUCCESS => {
"changed": false,
"failed": false,
"ping": "pong"
}
host_52 | SUCCESS => {
"changed": false,
"failed": false,
"ping": "pong"
}
自动化单实例MySQL部署
yaml文件配置修改
由于MySQL的tar.gz过大,所以手动get到指定目录。并且修改yaml文件,完成一键式部署mysql。
1):下载MySQL 5.7二进制部署包
cd /tmp/
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
2): MySQL 5.7二进制部署包放置到/usr/local/ZMySQLAutoTools/packages/mysql目录下
mv /tmp/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz /usr/local/ZMySQLAutoTools/packages/mysql/
3): 修改install_single_mysql.yaml配置文件
[root@MHA-Manager mysql]# cd /usr/local/ZMySQLAutoTools/deploy/mysql
[root@MHA-Manager mysql]# vi install_single_mysql.yaml
---
- hosts: host_51 //修改为你要远程部署的主机名称
一键单实例MySQL部署
1):部署mysql
cd /usr/local/ZMySQLAutoTools/deploy/mysql
ansible-playbook install_single_mysql.yaml
2):进入mysql
[root@MHA-Manager mysql]# mysql -uroot -p'zsd@7101'
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.22-log MySQL Community Server (GPL)
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
(root@localhost) [(none)]>
自动化运维(2)之一键式单实例安装MySQL的更多相关文章
- 自动化运维之-PXE实现系统批量自动安装
转自:https://www.linuxidc.com/Linux/2017-10/147379.htm 本节索引 需求分析 PXE简介 整体方案 服务选择 功能实现 安装调试 错误分析 总结 1 需 ...
- 自动化运维工具saltstack01 -- 之SaltStack介绍、安装与基础使用
SaltStack介绍 官网地址:http://www.saltstack.com 官方文档地址:http://docs.saltstack.com Github:http://Github.com/ ...
- 2. 自动化运维系列之Cobbler给Openstack节点安装操作系统。
preface 我们在一篇博文知道了如何搭建Cobbler,那么下面就通过Cobbler来安抓Openstack所有节点吧. 服务器配置信息如下: 主机名 IP 角色 Cobbler.node.com ...
- 【转载】自动化运维系列之Cobbler给Openstack节点安装操作系统
preface 我们在一篇博文知道了如何搭建Cobbler,那么下面就通过Cobbler来安抓Openstack所有节点吧. 服务器配置信息如下: 主机名 IP 角色 Cobbler.node.com ...
- 技术沙龙|京东云DevOps自动化运维技术实践
自动化测试体系不完善.缺少自助式的持续交付平台.系统间耦合度高服务拆分难度大.成熟的DevOps工程师稀缺,缺少敏捷文化--这些都是DevOps 在落地过程中,或多或少会碰到的问题,DevOps发展任 ...
- CheungSSH国产自动化运维工具开源Web界面
CheungSSH web2.0 发布文档 CheungSSH 简介 CheungSSH是一款国人自主研发的Linux运维自动化管理服务器软件,秉着为企业降低运营成本,解放管理员双手和自动化生产的理念 ...
- 自动化运维:网站svn代码上线更新(flask+saltstack)
阶段性总结: 跌跌撞撞的用了一周左右的时间做完了网站自动升级功能,中间遇到了很多的问题,也学到了很多,在此做一个总结. 1.整体架构: 后台:nginx+uwsgi #nginx提供w ...
- 七天学会 SALT STACK 自动化运维 (1)
七天学会 SALT STACK 自动化运维 (1) 简单理解 SALTSTACK 安装与配置 基本的使用方法 结束语 引用资源 简单理解 SALT STACK 笔者是初次接触 自动化运维 这一技术领域 ...
- 自动化运维:使用psutil和paramiko读取远程主机信息
1.前言 今天大致看了下自动化运维的东西,里面介绍到了psutil模块,其封装了linux 下的大部分shell命令,用起来比较方便.但是基本都是介绍在本地如何使用,而实际情况大家很少这样使用,一般 ...
随机推荐
- java多线程系列13 设计模式 Future 模式
Future 模式 类似于ajax请求 页面异步的进行后台请求 用户无需等待请求的结果 就可以继续浏览或者操作 核心就是:去除了主函数的等待时间,并使得原本需要等待的时间段可以用于处理其他业务逻辑 ...
- 《C#从现象到本质》读书笔记(七)第9章 泛型
<C#从现象到本质>读书笔记(七)第9章 泛型 泛型的三大好处:类型安全,增强性能(避免装箱和拆箱),代码复用. 泛型方法是传入的参数至少有一个类型为T(尚未制定的类型,根据微软的命名规则 ...
- javascript Date对象扩展相关function
本篇均以es5为主: 1,月份加减来推日期 // 根据所给月份往后推出日期 function getMonth(count) { var date = new Date(); var year = d ...
- kei下无法跳转到函数的定义处
1 勾选“option for target”----“output”----"Browse information" 2 重新编译整个工程, 执行上面两个步骤就可以跳转了.
- 高效率php注意事项
1.尽量静态化: 如果一个方法能被静态,那就声明它为静态的,速度可提高1/4,甚至我测试的时候,这个提高了近三倍. 当然了,这个测试方法需要在十万级以上次执行,效果才明显. 其实静态方法和非静态方法的 ...
- REdis AOF文件结构分析
REdis-4.0之前的AOF文件没有文件头,而从REdis-4.0开始AOF文件带有一个文件头,文件头格式和RDB文件头相同. REdis-4.0版本,如果开启aof-use-rdb-preambl ...
- python实战提升--1
#python实战提升 1. 如何在列表.字典.集合中根据条件筛选数据? python中for _ in range(10)与for i in range(10)有何区别 下划线表示 临时变量, 仅用 ...
- 当noncopyable遇见singleton
在实现单例类时,通常要把构造相关的几个函数访问权限设为private或protected(最好是private).但假设一个大型系统中,有数十个单例类(这很正常,单例类其实是外观模式的一种最常用设计) ...
- EF db first 获取表名称
一直以来,使用DB FIRST的方式,想得到表名,最后一直不得其法.直到昨天晚上,反编译自己的程序集的时候,突然发现EF表结构和数据实体类的映射关系存在什么地方.然后就有了这篇文章. 咱们一步步来. ...
- redis之一初识redis
本文主要围绕以下几点进行阐述: 1.什么是redis? 2.为什么要使用redis呢? 3.redis的一些基本配置 4.redis的缺点? 正文: 1.什么是redis? Redis是一款内存高速缓 ...