简介 针对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 制定好各种依赖关系

saltstack系列~第四篇的更多相关文章

  1. 深入理解javascript作用域系列第四篇——块作用域

    × 目录 [1]let [2]const [3]try 前面的话 尽管函数作用域是最常见的作用域单元,也是现行大多数javascript最普遍的设计方法,但其他类型的作用域单元也是存在的,并且通过使用 ...

  2. 前端工程师技能之photoshop巧用系列第四篇——图片格式

    × 目录 [1]图片格式 [2]保存设置 前面的话 对于前端来说,图片格式是需要重要掌握的知识.本文是photoshop巧用系列第四篇——图片格式 图片格式 目前在前端的开发中常用的图片格式有jpg. ...

  3. 深入理解javascript作用域系列第四篇

    前面的话 尽管函数作用域是最常见的作用域单元,也是现行大多数javascript最普遍的设计方法,但其他类型的作用域单元也是存在的,并且通过使用其他类型的作用域单元甚至可以实现维护起来更加优秀.简洁的 ...

  4. javascript面向对象系列第四篇——选项卡的实现

    前面的话 面向对象的应用并非只是读几本书那么容易,需要有大量的工程实践做基础才能真正理解并学会使用它.本文将用面向对象的技术来制作一个简单的选项卡 图示说明 由图示结果看到,这是一个非常简单的选项卡. ...

  5. 【Windows编程】系列第四篇:使用Unicode编程

    上一篇我们学习了Windows编程的文本及字体输出,在以上几篇的实例中也出现了一些带有“TEXT”的Windows宏定义,有朋友留言想了解一些ANSI和Unicode编程方面的内容,本章就来了解和学习 ...

  6. chromium浏览器开发系列第四篇:如何调试最新chromium源码

    转自:http://blog.itpub.net/20687969/viewspace-1586513/ 附上上几篇文章地址,方便大家查看: 下载源码 编译源码 目录结构 接二连三的事情,时间比较紧张 ...

  7. Java系列--第四篇 基于Maven的SSME之发送邮件

    在系列第一篇中,使用的是mybatis得到了一个小小的项目,而该项目的用户对象是有邮件地址的,如果按照邮件地址给对方去一封邮件会不会更能体现针对性呢,所以,我在这篇准备加入发送邮件的功能,利用的就是s ...

  8. Laravel 源码解读系列第四篇-Auth 机制

    前言 Laravel有一个神器: php artisan make:auth 能够快速的帮我们完成一套注册和登录的认证机制,但是这套机制具体的是怎么跑起来的呢?我们不妨来一起看看他的源码.不过在这篇文 ...

  9. Android异步处理系列文章四篇之三

    Android异步处理一:使用Thread+Handler实现非UI线程更新UI界面Android异步处理二:使用AsyncTask异步更新UI界面Android异步处理三:Handler+Loope ...

随机推荐

  1. BZOJ3172[Tjoi2013]单词——AC自动机(fail树)

    题目描述 某人读论文,一篇论文是由许多单词组成.但他发现一个单词会在论文中出现很多次,现在想知道每个单词分别在论文中出现多少次. 输入 第一个一个整数N,表示有多少个单词,接下来N行每行一个单词.每个 ...

  2. DeBruijin HDU - 2894(????????)

    题意: 莫名其妙 看不懂..只能靠别人的题意混日子 a完就懂了  就是 POJ1392  不求第k个了  直接输出这个路径 emm ...就改了一下那个代码 #include <iostream ...

  3. day11 filter函数

    场景模拟:我想判断某个列表里面的某个元素怎么怎么样 基础方法,如果需要判断多次则重复代码 ret = [] move_peole = ["alex","sb_wupeiq ...

  4. 【luogu4320】道路相遇 (圆方树 + LCA)

    Description ​ 给你一张\(~n~\)个点\(~m~\)条边的无向图,保证无重边无自环, 共\(~q~\)组询问求\(~x~\)到\(~y~\)的路径上必经的点数. Solution ​ ...

  5. SharePoint 2013 Newsfeed 没有出现的解决方法

    按照这个guide配置mysite: http://technet.microsoft.com/en-us/library/ee624362(v=office.15).aspx 但是newsfeed页 ...

  6. A1015. Reversible Primes

    A reversible prime in any number system is a prime whose "reverse" in that number system i ...

  7. 淘宝助理导出的csv文件使用的是什么编码,您猜?

    今天下午用Java读取从淘宝助理 V4.3 Beta1导出的csv文件,出现中文乱码情况. 一看就是文件编码引起的,不清楚淘宝助理导出的csv文件使用了什么编码,到百度搜索了一下,看到一些相关文章,但 ...

  8. JS模板引擎handlebars.js的简单使用

    handlebars.js的使用 首先我们要明白handlebars.js是干什么用的,我们知道使用jsp很麻烦, 于是我们开始使用freemarker等模板引擎,但这个只是针对服务器端来解 析的,那 ...

  9. 枚举 enum 成员变量初始化

    typedef enum { A1, A2, A3, A4 = , A_END }A; 如果A1赋值为5,则下列依次递增1,即A2等于6,A3等于7: 由于A4赋值为10,所以A_END等于11 如果 ...

  10. Adobe Premiere Pro CC ------ 快捷键

    ctrl + ~:全屏 Esc:退出全屏