MySQL数据库之Saltstack+Shell自动化分发脚本
小标 2019-05-13 来源 : 阅读 1160 评论 0

摘要:本文主要向大家介绍了MySQL数据库之Saltstack+Shell自动化分发脚本 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助。

本文主要向大家介绍了MySQL数据库之Saltstack+Shell自动化分发脚本 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助。

MySQL数据库之Saltstack+Shell自动化分发脚本

目的:用Saltstack工具去部署批量服务器,自动化安装(卸载)服务(比如MySQL)。

[root@node2 ~]# ll
总用量 304228
-rw-r--r-- 1 root root 311516309 3月  10 2015 mysql-5.6.21-linux-glibc2.5-x86_64.tar.gz
-rwxr-xr-x 1 root root      6628 3月  25 12:52 MySQL_二进制安装.sh
-rwxr-xr-x 1 root root       590 3月  25 12:53 MySQL_二进制卸载.sh
[root@node2 ~]#

1、查看Master和minion状态。

Masternode2192.168.1.221
minionnode4192.168.1.223

1.1)查看master状态信息:


[root@node2 ~]# netstat -atupn|grep --color -E '4505|4506'
tcp        0      0 0.0.0.0:4505                0.0.0.0:*                   LISTEN      2897/python2.6     
tcp        0      0 0.0.0.0:4506                0.0.0.0:*                   LISTEN      2915/python2.6     
tcp        0      0 192.168.1.221:4505          192.168.1.223:58448         ESTABLISHED 2897/python2.6     
tcp        0      0 192.168.1.221:4506          192.168.1.223:53904         ESTABLISHED 2915/python2.6     
[root@node2 ~]#

1.2)查看当前的salt key信息(minion)我只配置了一个:

[root@node2 ~]# salt-key -L
Accepted Keys:
node4
Denied Keys:
Unaccepted Keys:
Rejected Keys:
[root@node2 ~]#

1.3)查看minion状态信息:

[root@node2 ~]# salt 'node4' cmd.run 'netstat -atupn|grep python'
node4:
    tcp        0      0 192.168.1.223:53904         192.168.1.221:4506          ESTABLISHED 2846/python2.6     
    tcp        0      0 192.168.1.223:58448         192.168.1.221:4505          ESTABLISHED 2846/python2.6
[root@node2 ~]#

1.4)分发Shell脚本和包并授权:

1.4.1)常用cp模块介绍:(其它模块可看我其它相关博客)

cp.get_file   从主服务器下载目录

cp.get_dir    从主服务器下载文件

cp.get_url    从服务器下载指定URL文件

[root@node2 ~]# salt 'node4' cp.get_file salt://mysql-5.6.21-linux-glibc2.5-x86_64.tar.gz /root/mysql-5.6.21-linux-glibc2.5-x86_64.tar.gz
node4:
    /root/mysql-5.6.21-linux-glibc2.5-x86_64.tar.gz
[root@node2 ~]#
[root@node2 ~]# salt 'node4' cp.get_file salt://MySQL_install.sh /root/MySQL_install.sh
node4:
    /root/MySQL_install.sh
[root@node2 ~]# salt 'node4' cp.get_file salt://MySQL_remove.sh /root/MySQL_remove.sh
node4:
    /root/MySQL_remove.sh
[root@node2 ~]#

1.4.2)minion查看;

[root@node4 ~]# ll
总用量 304232
-rw-r--r-- 1 root root 311516309 3月  25 14:06 mysql-5.6.21-linux-glibc2.5-x86_64.tar.gz
-rw-r--r-- 1 root root      6628 3月  25 14:09 MySQL_install.sh
-rw-r--r-- 1 root root       590 3月  25 14:10 MySQL_remove.sh
[root@node4 ~]#

1.4.3)脚本加权:

[root@node2 ~]# salt 'node4' cmd.run 'chmod +x /root/*.sh'
node4:
[root@node2 ~]#

1.5)脚本安装:

1.5.1)安装

[root@node2 ~]# salt 'node4' cmd.run '/root/MySQL_install.sh'
node4:
    ?[37;32m  开始MySQL的安装! ?[0m
    ?[37;32m MySQL安装目录已经创建完成![/usr/local/mysql下] ?[0m
    ########################################################!
    ?[37;32m MySQL需要的的用户和组创建完成! ?[0m
    ########################################################!
    安装MySQL需要的基本依赖包!
    ?[37;32m MySQL需要的基本依赖包已安装完成! ?[0m
    ########################################################!
    初始化MySQL!
    ?[37;32m MySQL初始化成功! ?[0m
    ########################################################!
    更改MySQL权限属组权限
    ?[37;32m 更改MySQL目录权限属组权限成功! ?[0m
    ########################################################!
    创建并配置mysql的启动文件!
    ?[37;32m MySQL启动文件已经创建配置完成! ?[0m
    ########################################################!
    导入优化好的my.cnf到/etc/下
    ?[37;32m MySQL的配置文件已准备完毕! ?[0m
    ########################################################!
    启动MySQL服务
    ?[37;32m MySQL服务启动成功! ?[0m
    ########################################################!
    配置MySQL的root账号密码!
    ?[37;32m MySQL的root默认账号密码是renzhiyuan ?[0m
    ########################################################!
[root@node2 ~]#

1.5.2)卸载:

[root@node2 ~]# salt 'node4' cmd.run '/root/MySQL_remove.sh'
node4:
    ?[37;32m 开始MySQL卸载! ?[0m
    ########################################################!
    ?[37;32m MySQL卸载成功! ?[0m
    ########################################################!
[root@node2 ~]#

其实自动化可以放在一个脚本批量执行,博主只是为了更方便的分享知识,未免写的有点多,欢迎大家指正。

本文由职坐标整理并发布,希望对同学们学习MySQL有所帮助,更多内容请关注职坐标数据库MySQL数据库频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程