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的更多相关文章

  1. 自动化运维之-PXE实现系统批量自动安装

    转自:https://www.linuxidc.com/Linux/2017-10/147379.htm 本节索引 需求分析 PXE简介 整体方案 服务选择 功能实现 安装调试 错误分析 总结 1 需 ...

  2. 自动化运维工具saltstack01 -- 之SaltStack介绍、安装与基础使用

    SaltStack介绍 官网地址:http://www.saltstack.com 官方文档地址:http://docs.saltstack.com Github:http://Github.com/ ...

  3. 2. 自动化运维系列之Cobbler给Openstack节点安装操作系统。

    preface 我们在一篇博文知道了如何搭建Cobbler,那么下面就通过Cobbler来安抓Openstack所有节点吧. 服务器配置信息如下: 主机名 IP 角色 Cobbler.node.com ...

  4. 【转载】自动化运维系列之Cobbler给Openstack节点安装操作系统

    preface 我们在一篇博文知道了如何搭建Cobbler,那么下面就通过Cobbler来安抓Openstack所有节点吧. 服务器配置信息如下: 主机名 IP 角色 Cobbler.node.com ...

  5. 技术沙龙|京东云DevOps自动化运维技术实践

    自动化测试体系不完善.缺少自助式的持续交付平台.系统间耦合度高服务拆分难度大.成熟的DevOps工程师稀缺,缺少敏捷文化--这些都是DevOps 在落地过程中,或多或少会碰到的问题,DevOps发展任 ...

  6. CheungSSH国产自动化运维工具开源Web界面

    CheungSSH web2.0 发布文档 CheungSSH 简介 CheungSSH是一款国人自主研发的Linux运维自动化管理服务器软件,秉着为企业降低运营成本,解放管理员双手和自动化生产的理念 ...

  7. 自动化运维:网站svn代码上线更新(flask+saltstack)

    阶段性总结:      跌跌撞撞的用了一周左右的时间做完了网站自动升级功能,中间遇到了很多的问题,也学到了很多,在此做一个总结.   1.整体架构: 后台:nginx+uwsgi  #nginx提供w ...

  8. 七天学会 SALT STACK 自动化运维 (1)

    七天学会 SALT STACK 自动化运维 (1) 简单理解 SALTSTACK 安装与配置 基本的使用方法 结束语 引用资源 简单理解 SALT STACK 笔者是初次接触 自动化运维 这一技术领域 ...

  9. 自动化运维:使用psutil和paramiko读取远程主机信息

    1.前言  今天大致看了下自动化运维的东西,里面介绍到了psutil模块,其封装了linux 下的大部分shell命令,用起来比较方便.但是基本都是介绍在本地如何使用,而实际情况大家很少这样使用,一般 ...

随机推荐

  1. MFC树形控件的使用(右键点击)

    在MFC中,会用到树形控件,这里做下记录. 右键点击 1.添加右键点击事件(NM_RCLICK) 2.获得鼠标在Client的坐标 CPoint point; GetCursorPos(&po ...

  2. nginx unit的初探

    安装介绍: https://www.oschina.net/p/nginx-unit 可以看到,unit还是很强大的,居然特么都支持go 还有python 在/etc/yum.repos.d/unit ...

  3. android-基础编程-ToolBar

    Android 3.0  Android 推了 ActionBar 这个控件,而到了2013 年 (4.0)Google 开始大力地推动所谓的 android style,material desig ...

  4. Makefile入门

    相信大家对makefile都不陌生,在Linux下编写程序基本都离不开makefile的编写,我们都知道多个.c文件经过编译器编译后得到多个.o文件,这些文件是互相独立的,但最终我们要得到一个可正常运 ...

  5. EF6学习笔记(四) 弹性连接及命令拦截调试

    EF6学习笔记总目录:ASP.NET MVC5 及 EF6 学习笔记 - (目录整理) 本章原文地址:Connection Resiliency and Command Interception 原文 ...

  6. 【UWP】使用 Rx 改善 AutoSuggestBox

    在 UWP 中,有一个控件叫 AutoSuggestBox,它的主要成分是一个 TextBox 和 ComboBox.使用它,我们可以做一些根据用户输入来显示相关建议输入的功能,例如百度首页搜索框那种 ...

  7. 人工智能必须要知道的语义分割模型:DeepLabv3+

    图像分割是计算机视觉中除了分类和检测外的另一项基本任务,它意味着要将图片根据内容分割成不同的块.相比图像分类和检测,分割是一项更精细的工作,因为需要对每个像素点分类,如下图的街景分割,由于对每个像素点 ...

  8. 深圳scala-meetup-20180902(1)- Monadic 编程风格

    刚完成了9月份深圳scala-meetup,趁刮台风有空,把我在meetup里的分享在这里发表一下.我这次的分享主要分三个主题:“Monadic编程风格“.”Future vs Task and Re ...

  9. PHPCMS9.6.0最新版SQL注入和前台GETSHELL漏洞分析 (实验新课)

    PHPCMS9.6.0最新版中,由于/modules/attachment/attachments.php的过滤函数的缺陷导致了可以绕过它的过滤机制形成SQL注入漏洞,可导致数据库中数据泄漏. 而且在 ...

  10. Android 实现手写板技术

    Android手写板和涂鸦的功能,代码如下: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/andro ...