一、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

  1. base:
  2. '*':
  3. - cpitables.*
  4. - install_zabbix.*
  5. - install_mysql.*

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

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

  1. /soft/install_mysql.py:
  2. file.managed:
  3. - unless: test -e /soft/install_mysql.py
  4. - source: salt://install_mysql/install_mysql.py
  5. - user: root
  6. - group: root
  7. - mode:
  8. cmd.run:
  9. - name: /usr/bin/python /soft/install_mysql.py
  10. - require:
  11. - file: /soft/install_mysql.py
  12.  
  13. /soft/mysql-5.7..tar.gz:
  14. file.managed:
  15. - unless: test -e /soft/mysql-5.7..tar.gz
  16. - source: salt://iso/mysql-5.7.18.tar.gz
  17. - user: root
  18. - group: root
  19. - mode:
  20. cmd.run:
  21. - cwd: /soft
  22. - 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 &&
  23. 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/
  24. mysql/log && touch mysql-error.log &&chmod mysql-error.log && chown mysql:mysql mysql-error.log && /usr/local/mysql/bin/mysqld --initialize --user=mysql
  25. - unless: test -d /usr/local/mysql
  26. - require:
  27. - file: /soft/mysql-5.7..tar.gz
  28.  
  29. /soft/edit_mysql.py:
  30. file.managed:
  31. - unless: test -e /soft/edit_mysql.py
  32. - source: salt://install_mysql/edit_mysql.py
  33. - user: root
  34. - group: root
  35. - mode:
  36. cmd.run:
  37. - name: /usr/bin/python /soft/edit_mysql.py
  38. - require:
  39. - file: /soft/edit_mysql.py

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

  1. #!/usr/bin/python
  2. # coding:utf-
  3.  
  4. import socket
  5. import os
  6.  
  7. content = '''
  8. [client]
  9. port =
  10. socket = /tmp/mysql.sock
  11.  
  12. [mysqld]
  13. user=mysql
  14. port =
  15. server_id =
  16. socket=/tmp/mysql.sock
  17. basedir =/usr/local/mysql
  18. datadir =/usr/local/mysql/data
  19. pid-file=/usr/local/mysql/data/mysqld.pid
  20. log-error=/usr/local/mysql/log/mysql-error.log
  21. '''
  22.  
  23. def init_mysql():
  24.  
  25. #修改mysql的配置文件/etc/my.cnf
  26. with open('/etc/my.cnf','r+') as newfile:
  27. newfile.write(content)
  28. newfile.close()
  29.  
  30. #新建mysql用户组和mysql用户
  31. os.system('groupadd mysql ')
  32. os.system('useradd -g mysql mysql')
  33. init_mysql()

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

  1. #!/usr/bin/python
  2. # coding:utf-
  3.  
  4. import os
  5.  
  6. def edit_mysql():
  7.  
  8. #Setting mysql env variable
  9. os.system("sed -i 's/PATH=$PATH:$HOME\/bin/PATH=$PATH:$HOME\/bin:\/usr\/local\/mysql\/bin/' ~/.bash_profile")
  10. os.system('source ~/.bash_profile')
  11.  
  12. #Settting mysql boot
  13. os.system('cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql.server')
  14. os.system('service mysql.server start')
  15. #os.system("set password for root@localhost = password('mysql')")
  16. #os.system('flush privileges')
  17.  
  18. edit_mysql()

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

【Minion】

在客户端新建目录soft

mkdir /soft

三、操作说明

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

  1. salt '*' state.sls install_mysql.install_mysql

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

state.sls :为固定用法

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

install_mysql : 为操作用到的sls文件

其他可能用到的命令:

检测Master与Minion的是否连接:

  1. salt '*' test.ping

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

  1. 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. jquery offsetParent()源码解读

    offsetParent: function() { return this.map(function() { var offsetParent = this.offsetParent || docE ...

  2. Solr查询中涉及到的Cache使用及相关的实现【转】

    转自:http://www.cnblogs.com/phinecos/archive/2012/05/24/2517018.html 本文将介绍Solr查询中涉及到的Cache使用及相关的实现.Sol ...

  3. WCF中的AsyncPattern

    WCF中的AsyncPattern   (系列博文源自 http://pfelix.wordpress.com/,由笔者翻译并整理,转载请注明) 在wcf 的 service contract中, 服 ...

  4. Kettle-Spoon入门示例

    Spoon 是Kettle的设计调试工具 [Demo文档下载] https://files.cnblogs.com/files/shexunyu/Kettle-Spoon-Demo%E5%B8%AE% ...

  5. 使用JDBC进行简单的增删改查

    JDBC为java的基础.用jdbc实现对数据库的增删改查的功能是程序员的基本要求.本例以mysql为例,首先要使用本例需要添加mysql-connector-java-5.1.7-bin.jar包. ...

  6. mohout安装

    安装完成之后的环境变量的配置如下: JAVA_HOME=/usr/local/jdk1.8.0_144JRE_HOME=/usr/java/jdk1.8.0_144/jreCLASSPATH=.:$J ...

  7. 1658: Easier Done Than Said?

    1658: Easier Done Than Said? Time Limit: 1 Sec  Memory Limit: 64 MBSubmit: 15  Solved: 12[Submit][St ...

  8. ES6新增Map、Set和iterable

    Map需要一个二维数组 var test_map = new Map(["mians",99],["regink",88]) test_map.get(&quo ...

  9. off-by-one&doublefree. 看雪10月ctf2017 TSRC 第四题赛后学习

    off-by-one 0x00 发现漏洞 1.off-by-one 在massage函数中,如图所示,可以修改的字节数比原内存大小多了一个字节 2.悬挂指针 可以看到,在free堆块的时候,没有清空指 ...

  10. 实现类似AOP的封装和配置

    这是张孝祥老师Java进阶讲解中最后一个视频,就是实现类似spring中的AOP的封装和配置,特别特别小型的一个框架雏形,但是spring中的核心思想还是体现出来了,真的厉害,张老师!!! 一.重点知 ...