saltstack之Returndatatoamysqlserver-创新互联

本文章是参照官网和网上一些资料。多数以官网为主。

成都创新互联公司长期为近1000家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为宣城企业提供专业的成都做网站、成都网站建设,宣城网站改版等技术服务。拥有十年丰富建站经验和众多成功案例,为您定制开发。

首先是需要安装mysql数据库,我这里已经安装好了一个mysql数据库的分支叫MariaDB数据库,我就使用现成的。听说操作和mysql的操作一样。其实我就是想试试这个数据库··

依赖条件:所有minion端要安装 。

MySQL-python

maturity:mature
depends:python-mysqldb
platform:all
PS:内容有点乱,写作水平也有限,不过这都是我的操作过程,用来记录一番,同时希望能给大家带来参考。

三个主要步骤:

1、创建数据库和表

2、修改minion配置文件指向mysql数据库

3、测试以及查看数据库

1、登录数据库,创建一个salt数据库,三个表:jids、salt_returns、salt_events [root@salt-master ~]# mysql -u root -p Enter password:  Welcome to the MariaDB monitor.  Commands end with ; or \g. Your MariaDB connection id is 360 Server version: 5.5.50-MariaDB MariaDB Server Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> CREATE DATABASE  `salt`     ->   DEFAULT CHARACTER SET utf8     ->   DEFAULT COLLATE utf8_general_ci; Query OK, 1 row affected (0.00 sec) MariaDB [(none)]> USE `salt`; Database changed MariaDB [salt]> DROP TABLE IF EXISTS `jids`; Query OK, 0 rows affected, 1 warning (0.00 sec) MariaDB [salt]> CREATE TABLE `jids` (     ->   `jid` varchar(255) NOT NULL,     ->   `load` mediumtext NOT NULL,     ->   UNIQUE KEY `jid` (`jid`)     -> ) ENGINE=InnoDB DEFAULT CHARSET=utf8; Query OK, 0 rows affected (0.04 sec) MariaDB [salt]> CREATE INDEX jid ON jids(jid) USING BTREE; ERROR 1061 (42000): Duplicate key name 'jid' MariaDB [salt]> CREATE INDEX jid ON jids(jid) USING BTREE; ERROR 1061 (42000): Duplicate key name 'jid' MariaDB [salt]> 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; Query OK, 0 rows affected (0.04 sec) MariaDB [salt]> DROP TABLE IF EXISTS `salt_events`; Query OK, 0 rows affected, 1 warning (0.01 sec) MariaDB [salt]> 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; Query OK, 0 rows affected (0.05 sec) 创建数据库完毕! 2、开始查看一下数据表,三个没错。 MariaDB [salt]> show tables     -> ; +----------------+ | Tables_in_salt | +----------------+ | jids           | | salt_events    | | salt_returns   | +----------------+ 3 rows in set (0.00 sec) MariaDB [salt]> select * from salt_returns; Empty set (0.00 sec) 3、给数据库授权,官网竟然没有说,差点漏了 MariaDB [salt]> grant all on salt.* to salt@'%' identified by 'salt'; Query OK, 0 rows affected (0.00 sec) MariaDB [salt]> flush privileges; Query OK, 0 rows affected (0.01 sec) MariaDB [salt]> 4、修改minion配置文件 [root@salt-minion01 ~]# vim /etc/salt/minion ######      Returner  settings        ###### ############################################ # Which returner(s) will be used for minion's result: #return: mysql mysql.host: '10.0.0.177'                  #我的master主机ip地址 mysql.user: 'salt' mysql.pass: 'salt' mysql.db: 'salt' mysql.port: 3306 [root@salt-minion01 ~]# /etc/init.d/salt-minion restart Stopping salt-minion daemon:                               [  OK  ] Starting salt-minion daemon:                               [  OK  ] 5、差点忘记安装依赖条件了,安装依赖条件。没有安装成功,和python版本有关,请大家自行寻找,我先第六步试试看, [root@salt-master ~]# yum install MySQLdb -y [root@salt-minion01 ~]#  yum install mysql-python -y      Loaded plugins: fastestmirror Setting up Install Process Loading mirror speeds from cached hostfile  * base: mirrors.zju.edu.cn  * epel: mirror01.idc.hinet.net  * extras: centos.ustc.edu.cn  * updates: centos.ustc.edu.cn No package mysql-python available.   * Maybe you meant: MySQL-python Error: Nothing to do 6、运行测试命令,然后进入数据库查看。 [root@salt-master ~]# salt '*' test.ping --return mysql salt-master:     True salt-minion01:     True hddcluster1:     True hddcluster4:     True hddcluster2:     True hddcluster3:     True #注意:下面id:salt-master  是因为我上面没有安装成功mysql-python,后来我在master端的minion安装mysql-python成功测试。 [root@salt-master ~]# mysql -u root -p                  Enter password:  Welcome to the MariaDB monitor.  Commands end with ; or \g. Your MariaDB connection id is 367 Server version: 5.5.50-MariaDB MariaDB Server Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> use salt;                   Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed MariaDB [salt]> select * from salt_returns; +-----------+----------------------+--------+-------------+---------+-----------------------------------------------------------------------------------------------------------------------------------------+---------------------+ | fun       | jid                  | return | id          | success | full_ret                                                                                                                                | alter_time          | +-----------+----------------------+--------+-------------+---------+-----------------------------------------------------------------------------------------------------------------------------------------+---------------------+ | test.ping | 20161214171944749902 | true   | salt-master | 1       | {"fun_args": [], "jid": "20161214171944749902", "return": true, "retcode": 0, "success": true, "fun": "test.ping", "id": "salt-master"} | 2016-12-14 17:19:54 | +-----------+----------------------+--------+-------------+---------+-----------------------------------------------------------------------------------------------------------------------------------------+---------------------+ 1 row in set (0.00 sec) MariaDB [salt]>  7、终于找到了包的名字是MySQL-python [root@salt-minion01 ~]# yum install MySQL-python Loaded plugins: fastestmirror Setting up Install Process Loading mirror speeds from cached hostfile  * base: mirrors.zju.edu.cn  * epel: mirror01.idc.hinet.net  * extras: centos.ustc.edu.cn  * updates: centos.ustc.edu.cn Resolving Dependencies There are unfinished transactions remaining. You might consider running yum-complete-transaction first to finish them. --> Running transaction check ---> Package MySQL-python.x86_64 0:1.2.3-0.3.c1.1.el6 will be installed --> Finished Dependency Resolution Dependencies Resolved =====================================================================================  Package              Arch           Version                      Repository    Size ===================================================================================== Installing:  MySQL-python         x86_64         1.2.3-0.3.c1.1.el6           base          86 k Transaction Summary ===================================================================================== Install       1 Package(s) Total download size: 86 k Installed size: 246 k Is this ok [y/N]: y Downloading Packages: MySQL-python-1.2.3-0.3.c1.1.el6.x86_64.rpm                    |  86 kB     00:00      Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction   Installing : MySQL-python-1.2.3-0.3.c1.1.el6.x86_64                            1/1    Verifying  : MySQL-python-1.2.3-0.3.c1.1.el6.x86_64                            1/1  Installed:   MySQL-python.x86_64 0:1.2.3-0.3.c1.1.el6                                            Complete! [root@salt-minion01 ~]#  8、再次测试命令,查看数据库。 [root@salt-master ~]# salt 'salt-minion01' test.ping --return mysql  salt-minion01:     True [root@salt-master ~]# mysql -u root -p                              Enter password:  Welcome to the MariaDB monitor.  Commands end with ; or \g. Your MariaDB connection id is 370 Server version: 5.5.50-MariaDB MariaDB Server Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> use salt;                   Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed MariaDB [salt]> select * from salt_returns; +-----------+----------------------+--------+---------------+---------+-------------------------------------------------------------------------------------------------------------------------------------------+---------------------+ | fun       | jid                  | return | id            | success | full_ret                                                                                                                                  | alter_time          | +-----------+----------------------+--------+---------------+---------+-------------------------------------------------------------------------------------------------------------------------------------------+---------------------+ | test.ping | 20161214171944749902 | true   | salt-master   | 1       | {"fun_args": [], "jid": "20161214171944749902", "return": true, "retcode": 0, "success": true, "fun": "test.ping", "id": "salt-master"}   | 2016-12-14 17:19:54 | | test.ping | 20161214172841623449 | true   | salt-minion01 | 1       | {"fun_args": [], "jid": "20161214172841623449", "return": true, "retcode": 0, "success": true, "fun": "test.ping", "id": "salt-minion01"} | 2016-12-14 17:28:41 | +-----------+----------------------+--------+---------------+---------+-------------------------------------------------------------------------------------------------------------------------------------------+---------------------+ 2 rows in set (0.00 sec) MariaDB [salt]>

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网站标题:saltstack之Returndatatoamysqlserver-创新互联
链接分享:http://scyanting.com/article/cecpeo.html