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

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

ansible搭建mysql主主模式的更多相关文章

  1. 基于keepalived搭建mysql双主高可用

    目录 概述 环境准备 keepalived搭建 mysql搭建 mysql双主搭建 mysql双主高可用搭建 概述 传统(不借助中间件)的数据库主从搭建,如果主节点挂掉了,从节点只能读取无法写入,只能 ...

  2. 通过keepalived搭建MySQL双主模式的高可用集群系统

    1. 配置MySQL双主模式 1.修改my.cnf配置文件 默认情况下,MySQL的配置文件是/etc/my.cnf,在配置文件的[mysqld]段添加如下内容: server-id=1 log-bi ...

  3. 在Docker下搭建MySQL双主双重集群(单机展示,与多机原理一致)

    前言 Docker的安装部署&在Docker下MySQL的安装与配置 https://www.cnblogs.com/yumq/p/14253360.html 在Docker进行单机主从复制M ...

  4. 利用LVS+Keepalived搭建Mysql双主复制高可用负载均衡环境

    应用背景: MySQL复制(主主,主从...)能在保证数据的备份的同时也能够做读写分离分摊系统压力,但是发生单点故障时,需要手动 切换到另外一台主机.LVS和Keppalived可以设定一个VIP来实 ...

  5. 1021 docker搭建mysql、网络模式、grid

    1.搭建并连接mysql服务 1.1.mysql官方命令 https://hub.docker.com/_/mysql/ #下载mysql镜像: docker pull mysql #启动mysql: ...

  6. 部署MySQL主主复制管理器

    一.概念 MMM(Master-Master replication manager for MvSQL,MySQL主主复制管理器)是一套支持双主故障切换和双主日常管理的脚本程序.MMM 使用 Per ...

  7. MySQL集群搭建(2)-主主从模式

    1 环境准备 上次我们搭建了主备架构,如下所示 这次我们的搭建目标是 具体配置信息 IP 系统 端口 MySQL版本 节点 读写 说明 192.168.41.83 Centos6.8 3306 5.7 ...

  8. Mysql主从同步(1) - 概念和原理介绍 以及 主从/主主模式 部署记录

    Mysql复制概念Mysql内建的复制功能是构建大型高性能应用程序的基础, 将Mysql数据分布到多个系统上,这种分布机制是通过将Mysql某一台主机数据复制到其它主机(slaves)上,并重新执行一 ...

  9. keepalived+MySQL双主搭建

    keepalived+MySQL双主搭建过程 首先要简单了解一下keepalived: Keepalived是Linux下一个轻量级别的高可用解决方案.高可用(High Avalilability,H ...

随机推荐

  1. 值得尝试的十款 GNOME Shell 扩展

    值得尝试的十款 GNOME Shell 扩展 作者: JACK WALLEN 译者: 核子可乐 | 2016-09-22 17:10   评论: 6 收藏: 1 当 GNOME Shell(即 GNO ...

  2. background--详解(背景图片根据屏幕的自适应)

    background:有以下几种属性: background-color background-position background-size background-repeat backgroun ...

  3. webpack——打包JS

    1.在文件中打开命令行,输入code ./    (我的编译器是vs code) 2.然后会弹出编译器,在编译器内新建js文件app,sum app.js import sum from './sum ...

  4. [luogu] P4040 [AHOI2014/JSOI2014]宅男计划(贪心)

    P4040 [AHOI2014/JSOI2014]宅男计划 题目背景 自从迷上了拼图,JYY就变成了个彻底的宅男.为了解决温饱问题,JYY不得不依靠叫外卖来维持生计. 题目描述 外卖店一共有N种食物, ...

  5. [Angular] Send Data via HTTP using Angular HttpParams

    Obviously in a real world application we do not only fetch data from the backend, but we also send d ...

  6. Android px,dp,pt,sp的差别

    px(像素点) mm 等Android不建议用 为什么电脑web开发能够用而Android不建议用? 由于px代表像素点个数,一般电脑分辨率都同样 不管14寸还是15寸都是1366*768而手机分辨率 ...

  7. ArcGIS Server 10.2 公布Oracle11g数据源的 Feature Service

    安装好arcgis server 10.2及 Desktop 而且确保 arcgis server manager 能够正常启动执行载入服务 1.Oracle 配置 安装好Oracleserver端程 ...

  8. hashmap 循环取出全部值 取出特定的值 两种方法

    //第一种 Iterator menus = menu.iterator(); while(menus.hasNext()) { Map userMap = (Map) menus.next(); S ...

  9. C++字符串操作笔试题第二波

    //1.字符串替换空格:请实现一个函数,把字符串中的每一个空格替换成"%20". //比如输入"we are happy.".则输出"we%20are ...

  10. 继承QWidget的派生类控件不能设置QSS问题解决(使用style()->drawPrimitive(QStyle::PE_Widget,也就是画一个最简单最原始的QWidget,不要牵扯其它这么多东西)

    自定义控件时基类用了QWidget,发现qss设置不起作用,需要重载其paintEvent函数即可: 如下代码: void CCustomWidget::paintEvent(QPaintEvent* ...