ansible角色部署mysql主从复制

创建角色mariadb


[root@ansible roles]# ansible-galaxy init mariadb

编写角色执行任务

[root@ansible roles]# vim mariadb/tasks/main.yml
[root@ansible roles]# cat mariadb/tasks/main.yml
---
# tasks file for mariadb
- name: mountmount:src: /dev/cdrompath: /mnt/fstype: iso9660state: mounted- name: reposhell:cmd: rm -rf /etc/yum.repos.d/*- name: yum_repository1yum_repository:file: servername: AppStreamdescription: AppStreambaseurl: file:///mnt/AppStreamenabled: yesgpgcheck: no- name: yum_reposirtoryyum_repository:file: servername: BaseOSdescription: BaseOSbaseurl: file:///mnt/BaseOSenabled: yesgpgcheck: no- name: stop firewalldservice:name: firewalldstate: stoppedenabled: no- name: stop selinuxlineinfile:path: /etc/selinux/configregexp: '^SELINUX='line: SELINUX=enforcing- name: stop selinuxshell: setenforce 0- name: install mariadbyum:name:- mariadb- mariadb-serverstate: present- name: templatetemplate:src: mastermy.cnf.j2dest: /etc/my.cnfwhen: inventory_hostname in {{ groups.mysql_master }}- name: templatetemplate:src: slavemy.cnf.j2dest: /etc/my.cnfwhen: inventory_hostname in {{ groups.mysql_slave }}- name: restart mariadbservice:name: mariadbstate: restartedenabled: yes- name: mariadb1shell:cmd: mysql -uroot -e  "create user 'xuanning'@'192.168.226.60' identified by '123456';"when: inventory_hostname in {{ groups.mysql_master }}- name: mariadb2shell:cmd: mysql -uroot -e "GRANT REPLICATION SLAVE ON *.* TO 'xuanning'@'192.168.226.60';"when: inventory_hostname in {{ groups.mysql_master }}- name: mariadb3shell:cmd:  mysql -uroot -e "flush privileges;"when: inventory_hostname in {{ groups.mysql_master }}
- name: slaveshell:cmd: mysql -uroot -e "change master to master_host='192.168.226.50',master_user = 'xuanning',master_password = '123456';"when: inventory_hostname in {{ groups.mysql_slave }}- name: slave2shell:cmd: mysql -uroot -e "start slave;"when: inventory_hostname in {{ groups.mysql_slave }}

编写所需的模板文件

[root@ansible roles]# cat  mariadb/templates/mastermy.cnf.j2
[master]
log-bin=g
server-id=2000
[root@ansible roles]# cat  mariadb/templates/slavemy.cnf.j2
[slave]
log-bin=g
server-id=2001

编写剧本调用角色


[root@ansible ansible]# cat mariadb.yml
---
- name: mariadbhosts: mysqlroles:- mariadb

执行剧本

[root@ansible ansible]# ansible-playbook mariadb.yml

验证

MariaDB [(none)]> show slave status \G
*************************** 1. row ***************************Slave_IO_State:Master_Host: 192.168.226.50Master_User: xuanningMaster_Port: 3306Connect_Retry: 60Master_Log_File:Read_Master_Log_Pos: 4Relay_Log_File: node2-relay-bin.000001Relay_Log_Pos: 4Relay_Master_Log_File:Slave_IO_Running: ConnectingSlave_SQL_Running: Yes

ansible角色部署mysql主从复制相关推荐

  1. ansible角色部署mysql主从

    linux ansible角色部署mysql主从 ansible主机创建角色 重新定义主机清单 [root@ansible ~]# cd /etc/ansible/ [root@ansible ans ...

  2. ansible角色部署lamp架构

    使用ansible角色部署lamp架构 文章目录 使用ansible角色部署lamp架构 一.部署Apache 1.配置主机并创建角色 2.编写task任务 3.编写脚本 4.调用角色 二.部署mys ...

  3. 使用docker compose部署MySQL主从复制集群

    使用docker compose部署MySQL主从复制集群 环境说明 宿主机:Ubuntu 14.04.6 LTS Docker Engine: 18.06.3-ce docker compose: ...

  4. 史上最详细Docker部署Mysql主从复制,带每一步骤图!!!

    没有夸大标题哈,能够成功的,实测后发文 本文主要讲怎么用Docker部署Mysql的主从复制,看起来很长,实际非常简单的,看一遍,立马就能懂的. 直接CV也能搭建起来,莫慌. 我们一起加油!!! 地点 ...

  5. osm2mysql_安装部署MySQL主从复制

    Environment:{ CentOS 7 两台  安装MySQL(mariadb  mariadb-server) } !!!关闭防火墙SELinux 1.查看版本信息 2.启动mysql服务,查 ...

  6. 基于Docker部署Mysql主从复制-实战详解篇

    一.前言 MySQL的主从复制详细讲解,根据网上教程也踩了很多坑,浪费了一些时间 ,特地全面的梳理下基于docker构建的mysql主从复制构建过程.遇到的问题以及提供安装包样例等 希望一篇文章足以解 ...

  7. Centos7部署MySQL主从复制

    一.准备 1.准备两台服务器,如果本地测试,准备两台虚拟机. 2.两台服务器上安装相同的mysql数据库. 3.我这里准备两台虚拟机演示: 192.168.21.102   主机 192.168.21 ...

  8. 使用docker部署mysql主从复制集群

    一.环境搭建 虚拟机环境:centos7 IP:192.168.37.134 用户名:root 密码:123 启动3个容器,一个是master,端口是3307,另外两个是slaver,端口是3308和 ...

  9. 自动化部署mysql主从复制集群_使用docker部署mysql主从复制集群

    一.环境搭建 虚拟机环境:centos7 IP:192.168.37.134 用户名:root 密码:123 启动3个容器,一个是master,端口是3307,另外两个是slaver,端口是3308和 ...

最新文章

  1. 在redhat6.4下安装 Oracle® Database 11g Release 2
  2. 高速串行总线设计基础(五)揭秘SERDES高速面纱之多相数据提取电路与线路编码方案
  3. linux 打包压缩工具
  4. rtorrent - 强大的命令行BT客户端
  5. rmmod: can't change directory to '/lib/modules': No such file or directory问题解决
  6. 打破信息孤岛完成EAI
  7. Codeforces 1028C(面积并/思维)
  8. 【英语学习】【WOTD】thole 释义/词源/示例
  9. Service绑定模式
  10. python转移矩阵_使用Python / Numpy中的单词构建转换矩阵
  11. Java or PHP? 谈谈高并发网站的技术选型和架构设计
  12. Python--day26--封装和@property
  13. 管理感悟:复制代码是错误行为
  14. STM32+DWM1000开发uwb测距系列教程之一:官方例程简介
  15. C++与QT学习路线
  16. 什么是CPU主频、外频、倍频?之间关系是?
  17. 年龄、工龄、计算(精确到天)
  18. linux 卸载oracle
  19. 2019C语言课程设计
  20. 阻塞双端消息队列 BlockingDeque(先进先出的原则管理)

热门文章

  1. 【单片机毕业设计】基于单片机的农田环境监测系统的设计
  2. screen 关闭会话,不进的情况下
  3. windows快捷键整理+《伴半歌》
  4. 手机PDF如何转PPT
  5. RS232与UART串口通信
  6. 股票高频数据(分钟数据)的入门分析方法——已实现波动率的计算(含完整代码)
  7. 迪威视讯:成为中国IDC落地重要力量
  8. HTML+CSS 背景图片大小设置问题(background-size)
  9. Windows 7简介
  10. 算法学习---关于哈密顿图的哈密顿通路求解问题