官方文档:https://docs.saltstack.com/en/2016.3/ref/returners/all/salt.returners.mysql.html#module-salt.returners.mysql


mysql自己搭建

首先要在master机器上创建数据库

CREATEDATABASE`salt`DEFAULTCHARACTERSETutf8DEFAULTCOLLATEutf8_general_ci;USE`salt`;CREATETABLE`jids`(`jid`varchar(255)NOTNULL,`load`mediumtextNOTNULL,UNIQUEKEY`jid`(`jid`))ENGINE=InnoDBDEFAULTCHARSET=utf8;CREATEINDEXjidONjids(jid)USINGBTREE;CREATETABLE`salt_returns`(`fun`varchar(50)NOTNULL,`jid`varchar(255)NOTNULL,`return`mediumtextNOTNULL,`id`varchar(255)NOTNULL,`success`varchar(10)NOTNULL,`full_ret`mediumtextNOTNULL,`alter_time`TIMESTAMPDEFAULTCURRENT_TIMESTAMP,KEY`id`(`id`),KEY`jid`(`jid`),KEY`fun`(`fun`))ENGINE=InnoDBDEFAULTCHARSET=utf8;CREATETABLE`salt_events`(`id`BIGINTNOTNULLAUTO_INCREMENT,`tag`varchar(255)NOTNULL,`data`mediumtextNOTNULL,`alter_time`TIMESTAMPDEFAULTCURRENT_TIMESTAMP,`master_id`varchar(255)NOTNULL,PRIMARYKEY(`id`),KEY`tag`(`tag`))ENGINE=InnoDBDEFAULTCHARSET=utf8;授权:grantallonsalt.*tosalt@'%'identifiedby'salt';


master和minion端:

vim/etc/salt/minionmysql.host:'192.168.141.250'#这里的ip写master的ipmysql.user:'salt'mysql.pass:'salt'mysql.db:'salt'mysql.port:3306保存退出,并重启服务/etc/init.d/salt-minionrestart


我们执行一条命令:

salt '*' test.ping --return mysql


我们进入mysql命令行:

mysqlshowdatabases;usesalt;showtables;select*fromsalt_returns\G;结果如下:***************************1.row***************************fun:test.pingjid:20170321234131569065return:trueid:web12.limingyu.comsuccess:1full_ret:{"fun_args":[],"jid":"20170321234131569065","return":true,"retcode":0,"success":true,"fun":"test.ping","id":"web12.limingyu.com"}alter_time:2017-03-2123:41:32