一、MMM简介

1、MMM(Master-Master replication manager for MySQL,MySQL主主复制管理器)是一套支持双主故障切换和双主日常管理的脚本程序。

2、MMM是一套灵活的脚本程序,基于perl实现,用来对mysql replication进行监控和故障转移,并能管理MySQL Master-Master复制的配置。

3、关于MMM高可用架构的说明如下:

(1)mmm-mon:监控进程,负责所有的监控工作,决定和处理所有节点角色活动。此脚本需要在监管机上运行。

(2)mmm-agent:运行在每个MySQL服务器上的代理进程,完成监控的探针工作和执行简单的远端服务设置。此脚本需要在被监管机上运行。

(3)mmm-control:一个简单的脚本,提供mmm_mond进程的命令。

(4)mysql-mmm的监管端会提供多个虚拟IP(VIP),包括一个可写VIP,多个可读VIP,通过监管的管理,这些IP会绑定在可用MySQL之上,当某一台MySQL宕机时,监管会将VIP迁移至其他MySQL。

实验环境:

五台centos7

四台MySQL:m1 192.168.30.30 、m2 192.168.30.31、s1 192.168.30.32、s2 192.168.30.35

一台mmm_moniter:192.168.30.36

service firewalld stop

setenforce 0

二 安装MySQL和MySQL-mmm

为了实验一致性,统一使用yum源安装MySQL和MySQL-mmm

更换为阿里源

yum install wget -y

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

yum -y install epel-release

yum clean all && yum makecache

2 在四台MySQL服务器上安装mariadb

yum -y install mariadb-server mariadb

systemctl start mariadb

systemctl enable mariadb

3 -----修改m1主配置文件---

vi /etc/my.cnf //

合适的位置添加以下内容

[mysqld]

log_error=/var/lib/mysql/mysql.err

log=/var/lib/mysql/mysql_log.log

log_slow_queries=/var/lib/mysql_slow_queris.log

binlog-ignore-db=mysql,information_schema

character_set_server=utf8

log_bin=mysql_bin

server_id=1

log_slave_updates

sync_binlog=1

auto_increment_increment=2

auto_increment_offset=1

systemctl restart mariadb

netstat -anpt | grep 3306

-------没有问题后,把配置文件复制到其它3台数据库服务器上并启动服务器-----

-----注意:配置文件中的server_id 要修改-----

之后也重启mariadb

systemctl start mariadb

systemctl enable mariadb

4 配置主主复制----两台主服务器相互复制

mysql #进入数据库

show master status; //记录日志文件名称和 位置值,在两台主上查看。

由于我的两台数据库都是纯净的没有执行任何操作,因此二进制日志文件和位置变量都是一样的,但是性质却不相同,一个对应的主服务器master1,一个对应的是master2

m1

m2

grant replication slave on *.* to 'replication'@'192.168.30.%' identified by '123456'; //两台主服务器互相授权连接

m1: change master to master_host='192.168.30.31',master_user='replication',master_password='123456',master_log_file='mysql_bin.000003',master_log_pos=410; //master1指定master2的地址和对应的二进制日志文件和位置变量

m2: change master to master_host='192.168.30.30',master_user='replication',master_password='123456',master_log_file='mysql_bin.000003',master_log_pos=410; //master2指定master1的地址和对应的二进制日志文件和位置变量

start slave; //分别开启复制功能

show slave status; //分别查看状态

只要保证SlaveIORunning: Yes和SlaveSQLRunning: Yes就ok!

m1

m2

5 建库测试主主同步

create database dba; //在另一台主上可以看到

drop database dba; //在主上删除后,另一台主上也没有了,同步成功。

6 建立主从同步

s1和s2分别指向两台主中的任意一台

show master status; 在master1 上再次查看日志状态

change master to master_host='192.168.30.30',master_user='replication',master_password='123456',master_log_file='mysql_bin.000003',master_log_pos=410;

start slave;

show slave status; 查看复制状态

s1

s2

-----测试主从、主主、同步 情况----

建立数据库,然后测试同步情况

create database abc; //两台主中任意一台创建

show databases; //在两台从服务器上分别查看

三 安装MMM----在所有服务器上安装

1

yum -y install mysql-mmm-agent //在四台数据库服务器上安装代理端

yum -y install mysql-mmm-monitor //在另外一台空机器上安装监视器

2 安装结束后,对mmm-agent端进行配置

读写分离需要配合amoeba实现,这里就不介绍了点击查看详情amoeba读写分离

cd /etc/mysql-mmm/

1)vi mmm_common.conf //所有主机上都要配置,直接复制多份

指定各个代理主机的IP地址和模式:

配置读写的角色:

2)配置mmm_agent.conf(四台数据库不包括监视器)依次排列

vi /etc/mysql-mmm/mmm_agent.conf

3)配置mmm_mon.conf

vi /etc/mysql-mmm/mmm_mon.conf //配置监控主机

4)监控端和代理端授权(四台数据库服务器上)

mysql //进入数据库

grant super, replication client, process on . to 'mmm_agent'@'192.168.30.%' identified by '123456'; //为代理端授权

grant replication client on . to 'mmm_monitor'@'192.168.30.%' identified by '123456'; //为监控端授权

flush privileges; //刷新权限

systemctl start mysql-mmm-agent //四台数据库服务器分别启动mysql代理端

systemctl enable mysql-mmm-agent //开机自启

systemctl start mysql-mmm-monitor //监控主机启动mysql监控端

systemctl enable mysql-mmm-monitor //开机自启

mmm_control show //查看各节点的情况

注意:查看不到,稍等片刻继续查看,会有响应时间*

mmm_control checks all //需要各种OK

5)故障测试

(1)停止master1

systemctl stop mariadb

mmm_control show //在监控主机上查看

验证虚拟地址 188 是否移动到 master2 上

mysql-mmm_MySQL-MMM高可用群集相关推荐

  1. Mysql的MMM高可用群集

    文章目录 一.Mysql-MMM群集概述 (1)MMM概述 (2)MMM的优缺点 (3)MMM进程 `(脚本)` 的作用 (4)MMM的工作架构 二.搭建Mysql-MMM高可用群集 (1)实验环境 ...

  2. MySQL的MMM高可用测试(转自老金)

    一.双主零从 ============================================================== 主机: 功能 IP 主机名 monitor 10.1.30. ...

  3. MySQL高可用群集------配置MMM高可用架构

    MMM简介: MMM(Master-Master replication manager for Mysql,Mysql 主主复制管理器)是一套支持双主故障切换和双主日常管理的脚本程序.MMM使用Pe ...

  4. 详解 MySQL 高可用群集,MMM搭建高可用

    目录: 1·MMM 简介 2·MMM 各个角色说明 3·案例环境介绍 4·案例实施 5·总结 一:MMM 简介: 1)MMM 是什么:说得简单点,就是 MySQL 主主复制的管理器.之前的一篇文章讲述 ...

  5. MySQL 数据库之 MMM 高可用架构构建

    文章目录 一.MMM 概述 1. 什么是 MMM 2. 应用场景 3. MMM 特点 4. 关于 MMM 高可用架构的说明 5. 用户及授权 二.案例环境 1. 服务器配置 2. 服务器环境 3. 修 ...

  6. heartbeat+drbd+mysql构建mysql高可用群集

    heartbeat+drbd+mysql构建mysql高可用群集 1. 试验环境: 操作系统:Red Hat Enterprise Linux 5.4 所需的软件包: mysql-5.5.22.tar ...

  7. Mysql MMM 高可用

    一.Mysql MMM 高可用概况: mmm_mond  负责所有的监控工作的监控守护进程,决定节点的移除等: mmm_agentd  运行在mysql服务器上的代理守护进程,通过简单远程服务集提供给 ...

  8. mysql mmm集群简介_mysql之MMM高可用方案简介

    MMM(Master-Master Replication Manager for MySQL) MySQL主主复制管理器,提供了MySQL主主复制配置的监控.故障转移和管理的一套可伸缩的脚本套件.在 ...

  9. 搭建 mysql-mmm 高可用群集

    搭建 mysql-mmm 高可用群集 MMM 简介 : MMM(Master-Master replication manager for MySQL)是一套支持双主故障切换和双主日常管理的脚本程序. ...

最新文章

  1. 将baidu地图中的baidu logo去掉
  2. python领域有什么用-Python语言被广泛用在哪些领域了?
  3. 【设计模式】适配器模式 ( 概念 | 适用场景 | 优缺点 | 外观模式对比 | 适配器模式相关角色 | 类适配器 | 对象适配器 | 实现流程 )
  4. 学习Python编程,推荐最好的五本参考书,必读~~~
  5. linux代码段映射,bss,data,text,rodata,堆,栈,常量段与其各段在物理存储中关系
  6. 笨办法学 Python · 续 引言
  7. Microsoft Visual Studio 语言切换
  8. oracle 对表重建索引,重建特定Oracle表的所有常规索引
  9. 【优化调度】基于matlab求解共享储能电站工业用户日前经济调度优化问题【含Matlab源码 1103期】
  10. Android adb常用命令(持续更新)
  11. 自学c语言要下载什么软件下载,你学c语言用的什么app?
  12. vp230引脚功能_CAN收发器—TJA1040与TJA1050区别
  13. Java开发微信公众号-接口测试帐号接口配置及Java源代码
  14. PHP 中 GD库(以及Jpgraph库) 的配置和使用。(满屏荒唐言,一把辛酸泪)
  15. 通过微博名查看id html,微博id在哪里查看?
  16. 【Sparse-to-Dense】《Sparse-to-Dense:Depth Prediction from Sparse Depth Samples and a Single Image》
  17. 重庆大学考试计算机应用基础b卷,重庆大学2019年10月网上考试建筑结构设计B卷.docx...
  18. Zotero文献管理工具
  19. 因为贱,所以生活艰辛!说出真相,底层会更绝望
  20. web前端怎么获取cookie?

热门文章

  1. phpcms attachment.class.php路径,解决phpcms上传不了图片的方法
  2. 华三模拟器hcl实验手册_实验室 | # 实验室废气处理系统的设计#
  3. jQuery length和size()区别
  4. 微信小程序之弹框modal
  5. Flutter AnimatedSwitcher 实现优美的图片切换动画
  6. 周末也需要学习 分享一个 Flutter 波浪波动效果的登录页面的背景 Flutter ClipPath实现的波动
  7. RecyclerView(三)实现聊天窗口样式(Android 5.0 新特性)
  8. java基础—统计一个字符串中各个字符出现的次数
  9. java基础—对一个字符串中的数值进行从小到大的排序
  10. java基础基本数据类型对象包装