【MySQL】MMM和MHA高可用架构
用途
- 对MySQL主从复制集群的Master的健康监控。
- 当Master宕机后把写VIP迁移到新Master。
- 重新配置集群中的其他Slave从新Master同步
MMM架构

主服务器发生故障时,
1.主备服务器切换为新的主服务器:
(1)主备服务器设置read_only=off。
(2)主备服务器迁移写VIP到自己。
2.从服务器切换指向新的主服务器:
(1)完成原主服务器上已复制日志的恢复。
(2)使用Change Master to命令连接指向新的主服务器。
MMM架构优点
提供了读写VIP的配置,使得读写请求都可以做到高可用。
- 工具包相对完善,不需要额外开发脚本。
- 完成故障转移后,可以继续对MySQL集群进行高可用监控。
MMM架构缺点
故障切换简单粗暴易丢事务。解决方案:使用MySQL5.7及之后的半同步复制。
- 原生不支持GTID的复制方式。解决方案:自行修改perl脚本实现。
- 社区不活跃,很久未更新版本了。
- 需要的机器和IP地址资源较多。
MHA架构

主服务器发生故障时,
1.选举具有最新更新的Slave从节点。
2.尝试从宕机的Master主节点保存bin_log。
3.应用差异的中继relay_log到其他Slave从节点。
4.应用从Master主节点保存的bin_log。
5.提升选举出的Slave从节点为新的Master主节点。
6.配置其他Slave从节点从新的Master主节点主从同步。
MHA架构优点
既支持日志点的主从同步,也支持GTID的主从同步。
- 可从多个Slave中选举出最合适的新Master,无需单独准备一个Master备机。
- 尝试从老Master尽可能多的保存和获取未同步日志。
MHA架构缺点
未必能获取到老Master未同步日志。解决方案:使用MySQL5.7及之后的半同步复制。
- 需要自行开发写VIP转移脚本。
- 只保证了Master高可用,未保证Slave高可用。
【MySQL】MMM和MHA高可用架构的更多相关文章
- MHA高可用架构与Atlas读写分离
1.1 MHA简介 1.1.1 MHA软件介绍 MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司youshimaton ...
- mysql mha高可用架构的安装
MMM无法全然地保证数据的一致性,所以MMM适用于对数据的一致性要求不是非常高.可是又想最大程度的保证业务可用性的场景对于那些对数据一致性要求非常高的业务,非常不建议採用MMM的这样的高可用性架构.那 ...
- MySQL集群搭建(5)-MHA高可用架构
1 概述 1.1 MHA 简介 MHA - Master High Availability 是由 Perl 实现的一款高可用程序,出现故障时,MHA 以最小的停机时间(通常10-30秒)执行 mas ...
- MHA 高可用架构部署
一, MHA 介绍 MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司youshimaton(现就职于Facebook公 ...
- linux下mysql5.7的MHA高可用架构搭建
一.MHA简介 MHA(Master High Availability)目前在mysql高可用方面比较成熟.是一套优秀的作为 mysql高可用性环境下故障切换和主从提升的高可用软件.在MySQL故障 ...
- MySQL 部署 MHA 高可用架构 (二)
实现 MHA VIP 功能 配置 master_ip_failover 脚本(db3) 把 master_ip_failover 上传到 /iba/software 上 master_ip_failo ...
- MySQL 部署 MHA 高可用架构 (一)
MHA 官方网址 Manager : https://github.com/yoshinorim/mha4mysql-manager Node : https://github.com/yoshino ...
- 13、mha高可用架构搭建
各节点架构: 192.168.1.20(mysql5.5) master主库 192.168.1.21(mysql5.5) slave1,目标:主库宕可提升为主库 192.168.1.22(mysql ...
- haproxy mycat mysql 读写分离MHA高可用
主机IP信息 hostname IP 172.16.3.140 haproxy01 172.16.3.141 haproxy02 172.16.3.142 mycat01 172.16.3.143 m ...
随机推荐
- 黄聪:table自适应宽度和高度
自适应宽度: td { width: 1px; white-space: nowrap; /* 自适应宽度*/ word-break: keep-all; /* 避免长单词截断,保持全部 */ } 自 ...
- IDA中查看某函数引用问题
按X键,即可列出哪个部分引用该函数.
- winform批量更新数据_长时间的执行会导致界面卡死
前言:使用winform触发一个事件后执行的代码,如果耗时非常长,则会导致窗口界面假死! 本人最近通过winform窗体执行一项:需要批量更新一批数据库的数据的操作的任务时,由于数据量达到百万级别, ...
- sql server 随记 -- 月份/日期 查询
月份 SELECT * FROM ( ] ) a UNPIVOT ( xxx ]) ) a2; 日期 SELECT * FROM ( ] )a UNPIVOT( xxx ]) )a2 (存档)
- 计时 答题 demo
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...
- idea使用心得
简单的概括如下: IntelliJ系中的 Project 相当于Eclipse系中的 Workspace : IntelliJ系中的 Module 相当于Eclipse系中的 Project ...
- Java数据结构(一):栈
导言:栈和我们的现实当中的箱子是一样的,保持一个先进后出,后进先出的原则.比如我们往一个箱子堆积衣服,一件一件地放进去之后,过一段时间再回来拿.那么最先放进去的衣服肯定最后拿出来,最后放进去的衣服就会 ...
- 一款开源且超好用的网站克隆机 HTTrack
0x00 前言 我们在学习前端的时候,总是会想着去学习其他人网站是如何制作的,或者我们遇到一些比较有用的知识点的时候,我们可能会选择通过 Ctrl + C / Ctrl + V 去扒下内容,然而我并非 ...
- CODING 告诉你硅谷项目经理的项目管理之道
写在前面 优秀的项目管理者是怎么工作的,如何把一个研发团队的绩效激发到最大? 我们精心挑选了几篇硅谷科技公司研发管理者的 README 进行翻译. README 主要用来向团队成员展示项目管理者的工作 ...
- PHP代码篇(五)--如何将图片文件上传到另外一台服务上
说,我有一个需求,就是一个临时功能.由于工作开发问题,我们有一个B项目,需要有一个商品添加的功能,涉及到添加商品内容,比如商品名字,商品描述,商品库存,商品图片等.后台商品添加的接口已经写完了,但是问 ...