【SaltStack】通过Master给Minion安装MySQL
一、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的更多相关文章
- saltstack(二) master、minion常用配置选项
master常用配置选项: interface: 指定bind的地址(默认0.) publish_port:指定发布端口(默认4505) ret_port: 指定结果返回端口,与minion配置文件的 ...
- saltstack master minion安装配置简单使用
首先先了解下saltstack是什么,为什么使用它 它与Ansible.Puppet都属于集中管理工具,由于现在企业规模的不断庞大及业务的增长,所需要管理的服务器数量增多,而且大部分机器都属于同类业务 ...
- yum简单安装salt master与minion
首先得先安装epel的yum源: rpm -ivh http://mirrors.skyshe.cn/epel/6/x86_64/epel-release-6-8.noarch.rpm 1.SaltS ...
- MySQL的Master/Slave群集安装和配置
本文介绍MySQL的Master/Slave群集安装和配置,版本号安装最新的稳定版GA 5.6.19. 为了支持有限HA.我们用Master/Slave读写简单孤立的集群.有限HA这是当Master不 ...
- linux之master和minion
saltstack博客地址: https://www.cnblogs.com/pyyu/p/9465608.html在线yaml文件编写:http://www.bejson.com/validator ...
- Saltstack 集中化管理平台安装
Saltstack的简介 SaltStack(http://www.saltstack.com/)是一个服务器基础架构集中化管理平台,具备配置管理.远程执行.监控等功能,一般可以理解为简化版的pupp ...
- SaltStack之Master配置文件详解
salt-master的配置文件位于/etc/salt/master,可用选项如下: #######################主配置 interface默认值:0.0.0.0(所有的网络地址接口 ...
- ubuntu 14.04 安装mysql server初级教程
序,mysql数据库是开源的,被大多数企业所使用 目录 一.apt-get install 软件安装原理剖析二.安装mysql server三.配置和管理msyql 一.apt-get install ...
- Centos7源码安装mysql及读写分离,互为主从
Linux服务器 -源码安装mysql 及读写分离,互为主从 一.环境介绍: Linux版本: CentOS 7 64位 mysq版本: mysql-5.6.26 这是我安装时所使用的版本, ...
随机推荐
- js 中对字符串的操作
1.split() split() 方法用于把一个字符串分割成字符串数组. 用法:stringObject.split(separator,howmany) separator:必选,类型为字符串或者 ...
- jsp九大内置对象响应类型
内置对象 类型request httpServletRequestout jspWriterresponse ...
- Java中的数据类型——通过示例学习Java编程(5)
作者:CHAITANYA SINGH 来源:https://www.koofun.com//pro/kfpostsdetail?kfpostsid=15 数据类型用来定义变量可以采用的值,例如,如果变 ...
- TruncateTable数据库清理
原文引用 https://www.cnblogs.com/liangxiaoking/p/5958456.html 本地链接下载 https://files.cnblogs.com/files/she ...
- SpringBoot 2.x (12):整合Elasticsearch
Elasticsearch:一个优秀的搜索引擎框架 搜索方面最基本的是SQL的like语句 进一步的有Lucene框架 后来有企业级的Solr框架 而Elasticsearch框架尤其适合于数据量特别 ...
- Spring框架学习——AOP的开发
一.AOP开发中的相关术语. ——JoinPoint(连接点):指那些可以被拦截到的点.比如增删改查方法都可以增强,这些方法就可以被称为是连接点. ——PointCut:切入点,真正被拦截的点,指对哪 ...
- 常用验证函数isset()/empty()/is_numeric()函数
1) isset()用来检查变量是否设置,若变量存在且值不为NULL时为TRUE: 检查多个变量时变量要全部存在且值不为NULL时为TRUE: 若用函数unset()释放后再用isset()检测时为F ...
- iOS --runtime理解
iOS~runtime理解 Runtime是想要做好iOS开发,或者说是真正的深刻的掌握OC这门语言所必需理解的东西.最近在学习Runtime,有自己的一些心得,整理如下,一为 查阅方便二为 或许能给 ...
- jquery分页组件(每页显示多少条)
/** * 功能说明:jPager 分页插件 * 参数说明:pages:[] 分页的控件个数 @id:显示分页的div ID,@showSelectPage: 是否显示当前分页的条目过滤下拉框 * @ ...
- DRM 简介
首先,我们对和DRM 相关的一些概念进行介绍. Buffer: 对于RAC 数据库,当一个数据块被读入到buffer cache后,我们就称其为buffer , cache fusion 会将这个bu ...