【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 ...
随机推荐
- 如何让Python爬虫一天抓取100万张网页
前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 王平 源自:猿人学Python PS:如有需要Python学习资料的 ...
- ZooKeeper安装、配置和使用
Zookeeper的概述: ZooKeeper是一个开源的分布式的,为分布式应用提供协调服务的Apache项目. ZooKeeper从设计模式角度来理解:是一个基于观察者模式设计的分布式服务管理框架, ...
- DesignPattern系列__08UML相关知识
前言 现在,很少有人和90年代一样,自己去实现一个软件的各个方面,也就是说,在工作中,和人沟通是必备的技能.那么,作为一枚码农,如何和他人沟通呢?这就要依靠本文的主题了--UML. 简介 UML--U ...
- CSS元素显示模式
CSS的元素显示模式 什么是元素显示模式 作用:网页的标签非常多,在不同的地方会用到不同类型的标签,了解他们的特点可以更好的布局我们的网页 元素的显示模式就是元素(标签)以什么样的方式进行显示,比如& ...
- HTTP中的2XX状态码
HTTP状态码分类 1XX --信息,服务器收到请求,需要请求者继续执行操作 2XX--成功,操作被成功接收并处理 3XX--重定向,需要进一步的操作以完成请求 4XX--客户端错误,请求包含语法错误 ...
- 交互式shell脚本web console
官网:http://web-console.org/ 这个脚本可以实现web下交互,也就是有了这玩意后可以不用反弹shell了. <?php // Web Console v0.9.7 (201 ...
- 「SAP技术」SAP MM 事务代码ME17的用法
SAP MM 事务代码ME17的用法 1,如下采购信息记录需要被归档: PIR号码,5300007816 2, ME12打上删除标记, 3, 事务代码ME17做归档 3.1 创建archive ...
- 彻底解决Python3写爬虫或网站时的乱码问题
第一次写贴子,试试水 很多玩Python3的都会遇到编码问题,如果直接去处理未知编码的网页,不是Python内部编码格式utf8会出现乱码,下面介绍一种将未知编码的字串转换为utf8来避免乱码的方法, ...
- sqlserver2008R2 本地不能用localhost连接
问题 在重新安装sql Server2008R2的时候,本地安装完成之后,想用localhost或者127.0.0.1登录的时候发现一直报错,无法连接,以下是解决方案. 打开Sql Server配置管 ...
- vue之tab切换
<style> .active{ color: red; } div a{ display: block; } </style> <script src="ht ...