官方文档:https://docs.saltstack.com/en/latest/ref/returners/all/salt.returners.mysql.html#module-salt.returners.mysql
1.MySQL服务器操作
# 创建数据库
CREATE DATABASE `salt`
DEFAULT CHARACTER SET utf8
DEFAULT COLLATE utf8_general_ci;
USE `salt`;
# 创建第1张表
CREATE TABLE `jids` (
`jid` varchar(255) NOT NULL,
`load` mediumtext NOT NULL,
UNIQUE KEY `jid` (`jid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE INDEX jid ON jids(jid) USING BTREE;
# 创建第2张表
CREATE TABLE `salt_returns` (
`fun` varchar(50) NOT NULL,
`jid` varchar(255) NOT NULL,
`return` mediumtext NOT NULL,
`id` varchar(255) NOT NULL,
`success` varchar(10) NOT NULL,
`full_ret` mediumtext NOT NULL,
`alter_time` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
KEY `id` (`id`),
KEY `jid` (`jid`),
KEY `fun` (`fun`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
# 创建第3张表
CREATE TABLE `salt_events` (
`id` BIGINT NOT NULL AUTO_INCREMENT,
`tag` varchar(255) NOT NULL,
`data` mediumtext NOT NULL,
`alter_time` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
`master_id` varchar(255) NOT NULL,
PRIMARY KEY (`id`),
KEY `tag` (`tag`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2.查询数据库,表及授权用户
mysql> show databases; # 查询库
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| salt |
| test |
+--------------------+
5 rows in set (0.01 sec)
mysql> use salt; # 切换数据库
Database changed
mysql> show tables; # 查询表
+----------------+
| Tables_in_salt |
+----------------+
| jids |
| salt_events |
| salt_returns |
+----------------+
3 rows in set (0.00 sec)
mysql> grant all on salt.* to salt@'192.168.2.%' identified by 'salt'; # 授权用户
Query OK, 0 rows affected (0.01 sec)
3.minion端安装MySQL-python支持
[root@salt-minion01 ~]# yum install MySQL-python -y
4.master配置文件加入
[root@salt-master ~]# vim /etc/salt/master # 加入以下配置
# Which returner(s) will be used for minion's result:
#return: mysql
alternative.mysql.host: '192.168.2.102'
alternative.mysql.user: 'salt'
alternative.mysql.pass: 'salt'
alternative.mysql.db: 'salt'
alternative.mysql.port: 3306
[root@salt-master ~]# /etc/init.d/salt-master restart # 重启服务
Stopping salt-master daemon: [ OK ]
Starting salt-master daemon: [ OK ]
[root@salt-master ~]# salt '*' saltutil.refresh_pillar # 刷新
salt-minion01:
True
salt-minion02:
True
salt-master:
True
5.minion配置
[root@salt-minion02 ~]# vim /etc/salt/minion
#return: mysql
alternative.mysql.host: '192.168.2.102'
alternative.mysql.user: 'salt'
alternative.mysql.pass: 'salt'
alternative.mysql.db: 'salt'
alternative.mysql.port: 3306
[root@salt-minion02 ~]# /etc/init.d/salt-minion restart # 重启服务
Stopping salt-minion:root:salt-minion02 daemon: OK
Starting salt-minion:root:salt-minion02 daemon: OK