简介 针对mysql的sls编写
0 软件包推送部分
tool_rsync:
file.recurse:
- source: salt://files/mysql
- name: /data/soft/
- user: root
- group: root
- dir_mode: 755
- file_mode: 644
- makedirs: True
- backup: minion
- include_enpty: True
1 环境部署部分->安装基础软件
soft_install:
pkg.installed:
- pkgs: ['soft1','soft2]
2 软件安装部分->安装第三方工具
rpm_install:
cmd.run:
- names: ['rpm -ivh ']
- cwd: /data/soft/
- require:
- file: tool_rsync
3 旧环境清理
env_client
cmd.run:
- names: ['mv data data_bak','rm -rf /etc/my.cnf']
4 mysql安装
mysql_install:
cmd.run:
{% if pillar["version"] == '5.6' %}
- names: ['拷贝配置文件','安装软件','数据库初始化]
{% elif pillar["version"] == '5.7' %}
- names: ['拷贝配置文件','安装软件','数据库初始化]
{% else %}
- names: ['echo "aaa"']
{% endif %}
- cwd: /data/soft/
- require:
- file: tool_rsync
5 配置文件定制
mysql_auto:
cmd.run:
- names: ['/bin/sh init.sh']//init.sh包含着定制my.cnf/插入监控等一系列的操作内容
- cwd: /data/soft/
6 mysql启动+创建用户
mysql_start:
cmd.run:
- names: ['nohup /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf > /dev/null 2>&1 &','sleep 10','/bin/sh sql.sh']//启动mysql和创建用户操作
- cwd: /data/soft/
7 添加计划任务
mysql_cron:
cron.present:
- name: /data/soft/lepus_slowquery.sh
- identifier: Reno_crontest
- comment: Salt_crontest
- user: root
- minute: '*/5'
8 总结
1 mysql启动一定要进行改造,自带的mysqld会导致salt挂起,需要改
2 salt利用pillar进行版本和其他角色的定制
3 制定好各种依赖关系
9 saltstack 分组关系
1 所有数据库划分一个组 组名为 online-mysql
2 所有主库划分一个组 组名为 online-mysql-master
3 所有从库划分为一个组 组名为 online-mysql-slave
4 每组抽调出一个从库 划分一个组 组名为 online-mysql-slave-backup(这个主要是为了对外提供服务和DBA备份用的)
10 saltstack 都能为mysql提供什么服务
linux级别 1 添加计划任务 2 查看linux状态 3 安装相关软件
mysql级别 1 查看 元数据/账户/变量值等
2 更改 创建账户/更改变量 等