• 用途

  1. 对MySQL主从复制集群的Master的健康监控。
  2. 当Master宕机后把写VIP迁移到新Master。
  3. 重新配置集群中的其他Slave从新Master同步
  • MMM架构

  主服务器发生故障时,

    1.主备服务器切换为新的主服务器

      (1)主备服务器设置read_only=off。

      (2)主备服务器迁移写VIP到自己。

    2.从服务器切换指向新的主服务器

      (1)完成原主服务器上已复制日志的恢复。

      (2)使用Change Master to命令连接指向新的主服务器。

  • MMM架构优点

  1. 提供了读写VIP的配置,使得读写请求都可以做到高可用

  2. 工具包相对完善,不需要额外开发脚本。
  3. 完成故障转移后,可以继续对MySQL集群进行高可用监控。
  • MMM架构缺点

  1. 故障切换简单粗暴易丢事务。解决方案:使用MySQL5.7及之后的半同步复制。

  2. 原生不支持GTID的复制方式。解决方案:自行修改perl脚本实现。
  3. 社区不活跃,很久未更新版本了。
  4. 需要的机器和IP地址资源较多。
  • MHA架构

  主服务器发生故障时,

    1.选举具有最新更新的Slave从节点。

    2.尝试从宕机的Master主节点保存bin_log。

    3.应用差异的中继relay_log到其他Slave从节点。

    4.应用从Master主节点保存的bin_log。

   5.提升选举出的Slave从节点为新的Master主节点。

    6.配置其他Slave从节点从新的Master主节点主从同步。

  • MHA架构优点

  1. 既支持日志点的主从同步,也支持GTID的主从同步

  2. 可从多个Slave中选举出最合适的新Master,无需单独准备一个Master备机
  3. 尝试从老Master尽可能多的保存和获取未同步日志。
  • MHA架构缺点

  1. 未必能获取到老Master未同步日志。解决方案:使用MySQL5.7及之后的半同步复制。

  2. 需要自行开发写VIP转移脚本。
  3. 只保证了Master高可用,未保证Slave高可用

【MySQL】MMM和MHA高可用架构的更多相关文章

  1. MHA高可用架构与Atlas读写分离

    1.1 MHA简介 1.1.1 MHA软件介绍 MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司youshimaton ...

  2. mysql mha高可用架构的安装

    MMM无法全然地保证数据的一致性,所以MMM适用于对数据的一致性要求不是非常高.可是又想最大程度的保证业务可用性的场景对于那些对数据一致性要求非常高的业务,非常不建议採用MMM的这样的高可用性架构.那 ...

  3. MySQL集群搭建(5)-MHA高可用架构

    1 概述 1.1 MHA 简介 MHA - Master High Availability 是由 Perl 实现的一款高可用程序,出现故障时,MHA 以最小的停机时间(通常10-30秒)执行 mas ...

  4. MHA 高可用架构部署

    一, MHA 介绍 MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司youshimaton(现就职于Facebook公 ...

  5. linux下mysql5.7的MHA高可用架构搭建

    一.MHA简介 MHA(Master High Availability)目前在mysql高可用方面比较成熟.是一套优秀的作为 mysql高可用性环境下故障切换和主从提升的高可用软件.在MySQL故障 ...

  6. MySQL 部署 MHA 高可用架构 (二)

    实现 MHA VIP 功能 配置 master_ip_failover 脚本(db3) 把 master_ip_failover 上传到 /iba/software 上 master_ip_failo ...

  7. MySQL 部署 MHA 高可用架构 (一)

    MHA 官方网址 Manager : https://github.com/yoshinorim/mha4mysql-manager Node : https://github.com/yoshino ...

  8. 13、mha高可用架构搭建

    各节点架构: 192.168.1.20(mysql5.5) master主库 192.168.1.21(mysql5.5) slave1,目标:主库宕可提升为主库 192.168.1.22(mysql ...

  9. 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 ...

随机推荐

  1. Redis for OPS 02:消息订阅和事务管理

    写在前面的话 上一节谈了 Redis 的安装以及五种基本数据类型的一些简单的操作,本章节主要看看 Redis 的另外一些特征,虽然可能不常用,但是还是需要了解的.对于我们运维人员来讲,这些东西更像拓展 ...

  2. Java匹马行天下之学编程的起点——编程常识知多少

    学编程的起点——编程常识知多少 前言: 刚去大学那会,我就知道我被录取的学院是软件学院,还知道一点就是软件学院主要是学电脑的,但具体要学什么其实一无所知.待的时间久了,慢慢的,像“编程”.“软件”.“ ...

  3. Leakcanary原理浅析

    LeakCanary是Android内存泄漏的框架,作为一个"面试常见问题",它一定有值得学习的地方,今天我们就讲一下它.作为一名开发,我觉得给人讲框架或者库的原理,最好先把大概思 ...

  4. C# MediaPlayer

    using System.Windows.Media; using Newtonsoft.Json; using System.ComponentModel; namespace ConsoleApp ...

  5. python基础(31):进程(一)

    1. 什么是进程 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础.在早期面向进程设计的计算机结构中,进程是程序的基本执行 ...

  6. Python 3 行代码 5 秒抠图的 AI 神器,根本无需 PS

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 苏克1900 PS:如有需要Python学习资料的小伙伴可以加点击下 ...

  7. 面试官之问:知道你的接口“QPS”是多少吗?

    前言: 原作:孤独烟.因修改不当之处欢迎指出! 大家好,我是小架架. 今天一大早就起来水文章了.这篇文章我个人感觉虽然含金量不是特别大,估计大家大概5分钟左右就能看完!到底是因为什么呢,因为平时干货文 ...

  8. DQL---条件查询、单行函数、多行函数、分组函数、数据类型

    一.DQL 1.基本规则: (1)对于日期型数据,做 *,/ 运算不合法,可以进行 +, - 运算.比如给日期加一天或减一个月,结果仍为一个日期.两个日期间只能为减法,返回两个日期相差的天数,两个日期 ...

  9. chrome调试安卓机出现“HTTP/1.1 404 Not Found ”错误

    chrome调试安卓机的时候打开的调试页面会显示 “HTTP/1.1 404 Not Found ”错误 解决办法: 开启电脑vpn,全局模式即可解决.

  10. django支付宝支付集成

    概要 本文是关于django集成支付宝[电脑网站支付]功能的过程记录. 功能逻辑主要分为两块: 用户下单跳转至支付宝支付界面 支付成功的回调验证 本文用到的alipay-sdk是基于阿里开发文档htt ...