SaltStack – Using the Mysql Module

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介:

salt '*' saltutil.refresh_pillar


官网的例子真的没看懂,英文菜。其实就简单一步。


参考文档

https://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.mysql.html

https://z900collector.wordpress.com/linux/using-the-saltstack-mysql-module/


minion  yum install MySQL-python -y


salt-master主要是找/usr/lib/python2.6/site-packages/salt/modules/test.py

[root@cm1 salt]# cat /etc/salt/minion

master: 172.1.1.1

id: cm1

mysql.host: 'localhost'

mysql.port: 3306

mysql.user: 'root'

mysql.socket: 'x.sock'

mysql.pass: 'xx' 

mysql.charset: 'utf8'


/etc/init.d/salt-minion restart


'''

执行顺序,测试命令

state.show_sls执行函数来查看salt state的执行顺序

sudo salt stage-db1 state.show_sls mysql

sudo salt stage-db1 state.apply mysql test=True

sudo salt stage-db1 state.apply mysql


mysql

sudo salt stage-db1 mysql.db_list

'''

salt '*' mysql.db_list


最完整的例子

https://www.digitalocean.com/community/tutorials/saltstack-infrastructure-creating-salt-states-for-mysql-database-servers


1.salt-minion端

mysql连接信息 /etc/salt/minion.d/mysql.conf

mysql.default_file: '/etc/mysql/salt.cnf'


vim /etc/mysql/salt.cnf

mysql.host: 'localhost'

mysql.port: 3306

mysql.user: 'root'

mysql.socket: 'x.sock'

mysql.pass: 'xx' 

mysql.charset: 'utf8'


2.vim /srv/pillar/top.sls

base:

  'G@env:dev and G@role:dbserver':

    - match: compound

    - dev.mysql


  'G@env:stage and G@role:dbserver':

    - match: compound

    - stage.mysql


  'G@env:prod and G@role:dbserver':

    - match: compound

    - prod.mysql


3.vim /srv/salt/mysql/init.sls

debconf-utils:

  pkg.installed


mysql_setup:

  debconf.set:

    - name: mysql-server

    - data:

        'mysql-server/root_password': {'type': 'password', 'value': '{{ salt['pillar.get']('mysql:root_pw', '') }}' }

        'mysql-server/root_password_again': {'type': 'password', 'value': '{{ salt['pillar.get']('mysql:root_pw', '') }}' }

    - require:

      - pkg: debconf-utils


python-mysqldb:

  pkg.installed


mysql-server:

  pkg.installed:

    - require:

      - debconf: mysql-server

      - pkg: python-mysqldb


mysql:

  service.running:

    - watch:

      - pkg: mysql-server

      - file: /etc/mysql/my.cnf


mysql:

  service.running:

    - watch:

      - pkg: mysql-server

      - file: /etc/mysql/my.cnf


/etc/mysql/my.cnf:

  file.managed:

    - source: salt://mysql/files/etc/mysql/my.cnf.jinja

    - template: jinja

    - user: root

    - group: root

    - mode: 640

    - require:

      - pkg: mysql-server


/etc/salt/minion.d/mysql.conf:

  file.managed:

    - source: salt://mysql/files/etc/salt/minion.d/mysql.conf

    - user: root

    - group: root

    - mode: 640

    - require:

      - service: mysql


/etc/mysql/salt.cnf:

  file.managed:

    - source: salt://mysql/files/etc/mysql/salt.cnf.jinja

    - template: jinja

    - user: root

    - group: root

    - mode: 640

    - require:

      - service: mysql


restart_minion_for_mysql:

  service.running:

    - name: salt-minion

    - watch:

      - file: /etc/salt/minion.d/mysql.conf


上面是digitoean云上的例子。最重要的是/etc/salt/minion.d



本文转自 liqius 51CTO博客,原文链接:http://blog.51cto.com/szgb17/1929487,如需转载请自行联系原作者

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
4月前
|
SQL 存储 关系型数据库
MySQL - order by 出现 using filesort根因分析及优化
MySQL - order by 出现 using filesort根因分析及优化
87 0
|
SQL 监控 关系型数据库
Metricbeat:mysql module之query metricset介绍
Elastic官网对于mysql query metricset介绍很少,也没有介绍其用法,但是在基于ELK实现mysql性能监控中,query metricset又是明显支持的指标集。本着探索学习精神,通过查阅了不少资料后,今天我们就针对query metricset来详细介绍。
118 0
|
消息中间件 监控 网络协议
SaltStack安装Apache/Mysql/PHP部署Wordpress
SaltStack是一个服务器基础架构集中化管理平台,具备配置管理、远程执行、监控等功能,基于Python语言实现,结合轻量级消息队列(ZeroMQ)与Python第三方模块(Pyzmq、PyCrypto、Pyjinjia2、python-msgpack和PyYAML等)构建。 SaltStack 采用 C/S模式,server端就是salt的master,client端就是minion,minion与master之间通过ZeroMQ消息队列通信。 master监听4505和4506端口,4505对应的是ZMQ的PUB system,用来发送消息,4506对应的是REP system是来接受
153 0
|
SQL 关系型数据库 MySQL
【mysql】NATURAL JOIN 和 USING 连接
【mysql】NATURAL JOIN 和 USING 连接
359 0
|
存储 关系型数据库 MySQL
[MySQL] 联合索引与using index condition
[MySQL] 联合索引与using index condition1.测试联合索引的最左原则的时候, 发现了5.6版本后的新特性Index Condition Pushdown 2.含义就是存储引擎层根据索引尽可能的过滤数据,然后在返回给服务器层根据where其他条件进行过滤 3.
2692 0
|
关系型数据库 MySQL 数据库
mysql_异常_01_Access denied for user 'root'@'192.168.1.13' (using password: YES)
一、异常现象 使用navicat premuim 连接 虚拟机mysql数据库时 ,抛出如下错误: Access denied for user 'root'@'192.168.1.13' (using password: YES)     二、异常原因  这是因为虽然用户名和密码正确,但是却没有在其他ip地址上访问的权限。
3691 0
|
存储 关系型数据库 MySQL

推荐镜像

更多