• 用途

  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. WebJar的打包和使用

    前言 WebJar官网:https://www.webjars.org/,对于任何与Servlet 3兼容的容器,WEB-INF/lib目录中的webjar都会自动作为静态资源提供.这是因为WEB-I ...

  2. 在Vue中使用i18n 国际化遇到 Uncaught TypeError: Cannot assign to read only property 'exports' of object '#<Object>'

    最近用Vue在搭建前端框架,在引用i18n时,运行的时候报错:Uncaught TypeError: Cannot assign to read only property 'exports' of ...

  3. java基础(10):继承、抽象类

    1. 继承 1.1 继承的概念 在现实生活中,继承一般指的是子女继承父辈的财产.在程序中,继承描述的是事物之间的所属关系,通过继承可以使多种事物之间形成一种关系体系.例如公司中的研发部员工和维护部员工 ...

  4. 为什么要做外链建设?seo优化与发布外链速度有哪些联系?

    对于SEO员工来说,我们每天都在处理网页.从内容创建的角度来看,我们每天创建大量的URL并进入索引状态.与网站的受欢迎程度相比,网站每天也会生成大量的外部链接. 实际上,相对于链接而言,它满足了搜索引 ...

  5. SQL 带有output、inserted、deleted

    因需求的关系需要将修改的值返回,故查了些资料发现了OUTPUT这个好东西,现记录下来以防以后忘记 使用例子: 1.对于INSERT,可以引用inserted表以查询新行的属性.    insert i ...

  6. vue学习笔记(一): 建立 vue-cli 初始网站

    在安装vue-cli之前,要先安装node.js这个大家百度一下就可以了 1.安装 vue-cli npm install -g @vue/cli-init 2.初始化一个项目,名为 hcmanage ...

  7. SQLMAP之tamper详解

    sqlmap 是一款注入神器广为人知,里面的 tamper 常常用来绕过 WAF ,很实用的模块,但是却常常被新手忽略(比如我),今天就整理总结一下 tamper 的用法以及 tamper 的编写 P ...

  8. Android 蓝牙开发(3)——蓝牙的详细介绍

    前面的两篇文章,主要是在 Android 官网关于蓝牙介绍的基础上加上自己的理解完成的.主要针对的是 Android 开发中的一些 API 的使用. 第一篇文章 Android 蓝牙开发(1) 主要是 ...

  9. [20190823]关于CPU成本计算3.txt

    [20190823]关于CPU成本计算3.txt --//前几天探究CPU cost时遇到的问题,获取行成本时我的测试查询结果出现跳跃,不知道为什么,感觉有点奇怪,分析看看.--//ITPUB原始链接 ...

  10. Git的使用(2)

    一.git在不同平台下的安装 (1)在linux上安装 如果以centos为例,可以使用yum安装,如下命令: sudo yum install git 如果你在基于debian的发行版上,尝试使用: ...