一、IP信息说明

【Master】

IP: 192.168.236.100

【Minion】

IP: 192.168.236.101

二、配置SaltStack

关于SaltStack Master和Minion的安装这里不再赘述!

【配置Master】

1.新建目录

mkdir  -p  /srv/salt/iso

mkdir -p   /srv/salt/install_mysql

2.新建配置文件

(1)  /srv/top.sls

base:
'*':
- cpitables.*
- install_zabbix.*
- install_mysql.*

(2)  /srv/salt/install_mysql/install_mysql.sls

说明:该文件内,执行install_mysql.py脚本的顺序和安装mysql的顺序不能乱,因为安装mysql时需要mysql用户和mysql用户组必须存在,否则会报错!

/soft/install_mysql.py:
file.managed:
- unless: test -e /soft/install_mysql.py
- source: salt://install_mysql/install_mysql.py
- user: root
- group: root
- mode:
cmd.run:
- name: /usr/bin/python /soft/install_mysql.py
- require:
- file: /soft/install_mysql.py /soft/mysql-5.7..tar.gz:
file.managed:
- unless: test -e /soft/mysql-5.7..tar.gz
- source: salt://iso/mysql-5.7.18.tar.gz
- user: root
- group: root
- mode:
cmd.run:
- cwd: /soft
- name: mv mysql-5.7..tar.gz /usr/local && cd /usr/local && tar zxf /usr/local/mysql-5.7..tar.gz && mv mysql-5.7.-linux-glibc2.-x86_64 mysql && cd mysql &&
chown -R mysql . && chgrp -R mysql . && mkdir -p /usr/local/mysql/log && chown -R mysql:mysql /usr/local/mysql/log && chmod /usr/local/mysql/log && cd /usr/local/
mysql/log && touch mysql-error.log &&chmod mysql-error.log && chown mysql:mysql mysql-error.log && /usr/local/mysql/bin/mysqld --initialize --user=mysql
- unless: test -d /usr/local/mysql
- require:
- file: /soft/mysql-5.7..tar.gz /soft/edit_mysql.py:
file.managed:
- unless: test -e /soft/edit_mysql.py
- source: salt://install_mysql/edit_mysql.py
- user: root
- group: root
- mode:
cmd.run:
- name: /usr/bin/python /soft/edit_mysql.py
- require:
- file: /soft/edit_mysql.py

(3)  /srv/salt/install_mysql/install_mysql.py

#!/usr/bin/python
# coding:utf- import socket
import os content = '''
[client]
port =
socket = /tmp/mysql.sock [mysqld]
user=mysql
port =
server_id =
socket=/tmp/mysql.sock
basedir =/usr/local/mysql
datadir =/usr/local/mysql/data
pid-file=/usr/local/mysql/data/mysqld.pid
log-error=/usr/local/mysql/log/mysql-error.log
''' def init_mysql(): #修改mysql的配置文件/etc/my.cnf
with open('/etc/my.cnf','r+') as newfile:
newfile.write(content)
newfile.close() #新建mysql用户组和mysql用户
os.system('groupadd mysql ')
os.system('useradd -g mysql mysql')
init_mysql()

(4)  /srv/salt/install_mysql/edit_mysql.py

#!/usr/bin/python
# coding:utf- import os def edit_mysql(): #Setting mysql env variable
os.system("sed -i 's/PATH=$PATH:$HOME\/bin/PATH=$PATH:$HOME\/bin:\/usr\/local\/mysql\/bin/' ~/.bash_profile")
os.system('source ~/.bash_profile') #Settting mysql boot
os.system('cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql.server')
os.system('service mysql.server start')
#os.system("set password for root@localhost = password('mysql')")
#os.system('flush privileges') edit_mysql()

(6) 将MySQ安装包mysql-5.7.18.tar.gz复制到目录/srv/salt/iso

【Minion】

在客户端新建目录soft

mkdir /soft

三、操作说明

在Master执行如下命令进行操作:

salt '*'  state.sls install_mysql.install_mysql

'*' : 表示所有可侦测到的Minion端

state.sls :为固定用法

install_mysql :表示install_mysql.sls文件所在的上次目录,该目录以/etc/salt/master文件中定义的目录为家目录

install_mysql : 为操作用到的sls文件

其他可能用到的命令:

检测Master与Minion的是否连接:

salt '*'  test.ping

在安装zabbix前进行验证测试:

salt '*'  state.sls install_mysql.install_mysql test=True

【SaltStack】通过Master给Minion安装MySQL的更多相关文章

  1. saltstack(二) master、minion常用配置选项

    master常用配置选项: interface: 指定bind的地址(默认0.) publish_port:指定发布端口(默认4505) ret_port: 指定结果返回端口,与minion配置文件的 ...

  2. saltstack master minion安装配置简单使用

    首先先了解下saltstack是什么,为什么使用它 它与Ansible.Puppet都属于集中管理工具,由于现在企业规模的不断庞大及业务的增长,所需要管理的服务器数量增多,而且大部分机器都属于同类业务 ...

  3. yum简单安装salt master与minion

    首先得先安装epel的yum源: rpm -ivh http://mirrors.skyshe.cn/epel/6/x86_64/epel-release-6-8.noarch.rpm 1.SaltS ...

  4. MySQL的Master/Slave群集安装和配置

    本文介绍MySQL的Master/Slave群集安装和配置,版本号安装最新的稳定版GA 5.6.19. 为了支持有限HA.我们用Master/Slave读写简单孤立的集群.有限HA这是当Master不 ...

  5. linux之master和minion

    saltstack博客地址: https://www.cnblogs.com/pyyu/p/9465608.html在线yaml文件编写:http://www.bejson.com/validator ...

  6. Saltstack 集中化管理平台安装

    Saltstack的简介 SaltStack(http://www.saltstack.com/)是一个服务器基础架构集中化管理平台,具备配置管理.远程执行.监控等功能,一般可以理解为简化版的pupp ...

  7. SaltStack之Master配置文件详解

    salt-master的配置文件位于/etc/salt/master,可用选项如下: #######################主配置 interface默认值:0.0.0.0(所有的网络地址接口 ...

  8. ubuntu 14.04 安装mysql server初级教程

    序,mysql数据库是开源的,被大多数企业所使用 目录 一.apt-get install 软件安装原理剖析二.安装mysql server三.配置和管理msyql 一.apt-get install ...

  9. Centos7源码安装mysql及读写分离,互为主从

       Linux服务器 -源码安装mysql 及读写分离,互为主从   一.环境介绍: Linux版本: CentOS 7 64位 mysq版本: mysql-5.6.26 这是我安装时所使用的版本, ...

随机推荐

  1. 108 Convert Sorted Array to Binary Search Tree 将有序数组转换为二叉搜索树

    将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树.此题中,一个高度平衡二叉树是指一个二叉树每个节点的左右两个子树的高度差的绝对值不超过1.示例:给定有序数组: [-10,-3,0,5,9], ...

  2. Apache的多处理模块MPM

    本博文主要参数 Apache 2.2文档以及Apache模块开发指南 Apache的整个运行可以分为两个阶段:启动阶段和运行阶段. 在启动阶段时,它以ROOT特权来启动,进行解析配置文件(一般就是ht ...

  3. nodejs 生成验证码

    此方法需要nodejs 安装canvas 扩展 准备工作 以Linux为例 1.服务器gcc版本需4.8以上 2.安装所需扩展 yum install cairo cairo-devel cairom ...

  4. linux学习-Linux系统启动过程

    linux系统启动过程 Linux系统的启动过程并不是大家想象中的那么复杂,其过程可以分为5个阶段: 内核的引导. 运行init. 系统初始化. 建立终端 . 用户登录系统. 内核引导 电源开机后,首 ...

  5. SVM为什么需要核函数

    生存?还是毁灭?——哈姆雷特 可分?还是不可分?——支持向量机 之前一直在讨论的线性分类器,器如其名(汗,这是什么说法啊),只能对线性可分的样本做处理.如果提供的样本线性不可分,结果很简单,线性分类器 ...

  6. 【Linux】Tmux分屏

    1.Tmux Arch维基: https://wiki.archlinux.org/index.php/Tmux_(简体中文) 官方WIKI: https://github.com/tmux/tmux ...

  7. CF1093D Beautiful Graph

    思路: 题目倒是没啥好说的,就是注意memset的效率问题.如果循环多次调用memset去初始化一个比较大的数组,那就会很费时间.就是因为这个被hack了.:( 实现: #include <bi ...

  8. Android Studio中通过CMake使用NDK并编译自定义库和添加预编译库

    Note:这篇文章是基于Android Studio 3.01版本的,NDK是R16. step1:创建一个包含C++的项目 其他默认就可以了. C++ Standard 指定编译库的环境,其中Too ...

  9. 分析(ExtractTransformLoad)与挖掘(DataMine)有何区别 ?

    首先,介绍一下ETL 和 DM:     ETL/Extraction-Transformation-Loading——用于完成DB到DW的数据转存,它将DB中的某一个时间点的状态,“抽取”出来,根据 ...

  10. echarts getAttribute”的值: 对象为 null 或未定义 错误解决方法,

    echarts.js引用放在head中或者放在body中HTML代码的前面了,造成加载时阻塞后面的html. 解决方法就是将echarts.js的引用放在</body>之前就可以了,完美解 ...