简介 针对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: True1 环境部署部分->安装基础软件 soft_install: pkg.installed: - pkgs: ['soft1','soft2]2 软件安装部分->安装第三方工具 rpm_install: cmd.run: - names: ['rpm -ivh '] - cwd: /data/soft/ - require: - file: tool_rsync3 旧环境清理 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 更改 创建账户/更改变量 等