SaltStack – Using the Mysql Module

本文详细介绍如何使用SaltStack的MySQL模块进行MySQL服务器的配置管理,包括salt-minion端的MySQL连接信息设置、Pillar及SLS文件的编写等步骤。

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,如需转载请自行联系原作者

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值