ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)等优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。
 
ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。主要包括:
(1)、连接插件connection plugins:负责和被监控端实现通信;
(2)、host inventory:指定操作的主机,是一个配置文件里面定义监控的主机;
(3)、各种模块核心模块、command模块、自定义模块;
(4)、借助于插件完成记录日志邮件等功能;
(5)、playbook:剧本执行多个任务时,非必需可以让节点一次性运行多个任务。
 

链接:https://pan.baidu.com/s/18vdKcYUHxdOnZjayle_Fkw
提取码:bmvo
复制这段内容后打开百度网盘手机App,操作更方便哦

基于centos7上的yum安装ansible
基于centos6上安装的MySQL
接下来的时间我们编写脚本吧!!!!!!!!!!!!
my.cnf配置如下】
[mysqld]
server-id=1
log_bin=mysql-bin
relay_log=mysql-relay
保存退出
 
/opt/my.cnf配置如下】】
[mysqld]
server-id=2
log_bin=mysql-bin
relay_log=mysql-relay
保存退出
 

[root@localhost ~]# vim mysql.yaml

---

- hosts: web
tasks:
- name: 安装mysql服务
yum: name={{ item }} state=installed
with_items:
- mysql
- mysql-server
- name: 分发配置文件 主
copy: src=/root/my.cnf dest=/etc/my.cnf

when: ansible_machine_id == "0db24cc9ab3462952a8ded4f0000000c"

- name: 分发配置文件 从
copy: src=/opt/my.cnf dest=/etc/my.cnf
when: ansible_machine_id == "a3a0f053e7d25013af92585f00000011"

- name: 启动mysql
service: name=mysqld state=started

- name: 授权用户
shell: mysql -e "grant all on *.* to 'tom'@'%' identified by '123'"

- name: 刷新权限
shell: mysql -e "flush privileges"

- name: 重置日志
shell: mysql -e "reset master"

- name: 停止slave
shell: mysql -e "stop slave"
- name: 编写日志'152
shell: mysql -e"change master to master_host='192.168.220.169',

master_user='tom',master_password='123',

master_log_file='mysql-bin.000001',master_log_pos=106;"
when: ansible_machine_id == "a3a0f053e7d25013af92585f00000011"  #判断条件

- name: 编写日志'169 
shell: mysql -e"change master to master_host='192.168.220.152',

master_user='tom',master_password='123',

master_log_file='mysql-bin.000001',master_log_pos=106;"
when: ansible_machine_id == "0db24cc9ab3462952a8ded4f0000000c" #判断条件
- name: 停止slave
shell: mysql -e "start slave"

- name: 重启msyql
service: name=mysqld state=restarted

- name: 关闭防火墙
service: name=iptables state=stopped

希望看到这篇文章的小伙伴给小编一个赞, (#^.^#)

最新文章

  1. 安卓 Handler
  2. UE移植到SAE云平台
  3. JavaScript数据属性与访问器属性
  4. JS获取IMG图片高宽
  5. CSS考试题目
  6. jQuery1.9.1--queue队列源码分析(非动画部分)
  7. 还原TexturePacker plist 文件以及图片的方法 (切开各小图片)
  8. mac用virtualbox 装win7联网及分辨率设置
  9. CentOS 安装 Sun JDK
  10. 20150913K-means聚类
  11. 【Android & iOS】应用升级实现
  12. 如何使用jQuery动态的在body里添加script标签?
  13. c语言-经验之谈
  14. kubernetes入门(08)kubernetes单机版的安装和使用
  15. valueOf函数详解
  16. 干货 | LIDAR、ToF相机、双目相机如何科学选择?
  17. javaweb(1)之tomcat使用
  18. 001-快速搭建Spring web应用【springboot 2.0.4】-gradle、springboot的启动过程分析、gradle多模块构建
  19. PHP:第三章——PHP中控制函数的函数
  20. anu - event

热门文章

  1. Element源码阅读(2)
  2. DOM元素属性值如果设置为对象
  3. 51nod 1113 矩阵快速幂( 矩阵快速幂经典模板 )
  4. BZOJ 2119 股市的预测 (后缀数组+RMQ)
  5. Mysql学习总结(33)——阿里云centos配置MySQL主从复制
  6. 洛谷 1052 dp 状态压缩
  7. JDK1.7中的ThreadPoolExecutor源代码剖析
  8. 取消记录tableView选中效果
  9. 使用excel进行数据挖掘(6)---- 预測
  10. Codeforces 10A-Power Consumption Calculation(模拟)