作者简介

松信嘉範:
MySQL/Linux专家
2001年索尼公司入职
2001年开始使用oracle
2004年开始使用MySQL
2006年9月-2010年8月MySQL从事顾问
2010年-2012年 DeNA
2012年~至今 Facebook


软件介绍

1、MHA能够在较短的时间内实现自动故障检测和故障转移,通常在10-30秒以内;在复制框架中,MHA能够很好地解决复制过程中的数据一致性问题,由于不需要在现有的replication中添加额外的服务器,仅需要一个manager节点,而一个Manager能管理多套复制,所以能大大地节约服务器的数量;另外,安装简单,无性能损耗,以及不需要修改现有的复制部署也是它的优势之处。
2、MHA还提供在线主库切换的功能,能够安全地切换当前运行的主库到一个新的主库中(通过将从库提升为主库),大概0.5-2秒内即可完成。3、MHA由两部分组成:MHA Manager(管理节点)和MHA Node(数据节点)。MHA Manager可以独立部署在一台独立的机器上管理多个Master-Slave集群,也可以部署在一台Slave上。当Master出现故障时,它可以自动将最新数据的Slave提升为新的Master,然后将所有其他的Slave重新指向新的Master。整个故障转移过程对应用程序是完全透明的。

工作流程

1)把宕机的master二进制日志保存下来。
2)找到binlog位置点最新的slave。
3)在binlog位置点最新的slave上用relay log(差异日志)修复其它slave。
4)将宕机的master上保存下来的二进制日志恢复到含有最新位置点的slave上。
5)将含有最新位置点binlog所在的slave提升为master。
6)将其它slave重新指向新提升的master,并开启主从复制。

MHA工具介绍

MHA软件由两部分组成,Manager工具包和Node工具包,具体的说明如下:

Manager工具包主要包括以下几个工具:

[root@db01 tools]# tar xf mha4mysql-manager-0.56.tar.gz

[root@db01 bin]# pwd
/server/tools/mha4mysql-manager-0.56/bin     //进入bin目录下
[root@db01 bin]# ll
total 40
-rwxr-xr-x 1 4984 users 1995 Apr  1  2014 masterha_check_repl
-rwxr-xr-x 1 4984 users 1779 Apr  1  2014 masterha_check_ssh
-rwxr-xr-x 1 4984 users 1865 Apr  1  2014 masterha_check_status
-rwxr-xr-x 1 4984 users 3201 Apr  1  2014 masterha_conf_host
-rwxr-xr-x 1 4984 users 2517 Apr  1  2014 masterha_manager
-rwxr-xr-x 1 4984 users 2165 Apr  1  2014 masterha_master_monitor
-rwxr-xr-x 1 4984 users 2373 Apr  1  2014 masterha_master_switch
-rwxr-xr-x 1 4984 users 5171 Apr  1  2014 masterha_secondary_check
-rwxr-xr-x 1 4984 users 1739 Apr  1  2014 masterha_stopmasterha_check_ssh              #检查MHA的ssh-key
masterha_check_repl             #检查主从复制情况
masterha_manger                 #启动MHA
masterha_check_status           #检测MHA的运行状态
masterha_master_monitor         #检测master是否宕机
masterha_master_switch          #手动故障转移
masterha_conf_host              #手动添加server信息
masterha_secondary_check        #建立TCP连接从远程服务器
masterha_stop                   #停止MHA

Node工具包主要包括以下几个工具:

tar xf mha4mysql-node-0.56.tar.gz[root@db01 bin]# pwd
/server/tools/mha4mysql-node-0.56/bin   //进入bin目录
[root@db01 bin]# ll
total 44
-rwxr-xr-x 1 4984 users 16367 Apr  1  2014 apply_diff_relay_logs
-rwxr-xr-x 1 4984 users  4807 Apr  1  2014 filter_mysqlbinlog
-rwxr-xr-x 1 4984 users  8261 Apr  1  2014 purge_relay_logs
-rwxr-xr-x 1 4984 users  7525 Apr  1  2014 save_binary_logs//工具介绍
save_binary_logs                #保存宕机的master的binlog
apply_diff_relay_logs           #识别relay log的差异
filter_mysqlbinlog              #防止回滚事件
purge_relay_logs                #清除中继日志

MHA优点总结

1)Masterfailover and slave promotion can be done very quickly
自动故障转移快2)Mastercrash does not result in data inconsistency
主库崩溃不存在数据一致性问题3)Noneed to modify current MySQL settings (MHA works with regular MySQL)
不需要对当前mysql环境做重大修改4)Noneed to increase lots of servers
不需要添加额外的服务器(仅一台manager就可管理上百个replication)5)Noperformance penalty
性能优秀,可工作在半同步复制和异步复制,当监控mysql状态时,仅需要每隔N秒向master发送ping包(默认3秒),所以对性能无影响。你可以理解为MHA的性能和简单的主从复制框架性能一样。6)Works with any storage engine
只要replication支持的存储引擎,MHA都支持,不会局限于innodb

转载于:https://www.cnblogs.com/tim1blog/p/9872850.html

mysql高可用架构 - MHA简介-01相关推荐

  1. 搭建MySQL高可用架构MHA

    搭建MySQL高可用架构MHA v1.0 MHA简介 MHA的主要目的是自动化master故障转移和slave自动提升为master,在较短时间(一般为10-30秒)的停机时间,可以避免复制和一致性问 ...

  2. 【DB宝42】MySQL高可用架构MHA+ProxySQL实现读写分离和负载均衡

    文章目录 一.MHA+ProxySQL架构 二.快速搭建MHA环境 2.1 下载MHA镜像 2.2 编辑yml文件,创建MHA相关容器 2.3 安装docker-compose软件(若已安装,可忽略) ...

  3. MySQL高可用架构MHA

    简介 MHA目前在MySQL高可用方面是一个相对成熟的解决方案 MHA是一套优秀的作为MySQL高可用性环境下故障切换和主从提升的高可用软件 MHA由两部分组成: MHA Manager(管理节点) ...

  4. mysql 高可用架构 mha 之五 Undefined subroutine main::FIXME_xxx called at power_manage

    os: ubuntu 16.04 db: mysql 5.7.25 mha: 0.58 做 masterha_check_repl 时,提示错误 # masterha_check_repl --con ...

  5. 探索MySQL高可用架构之MHA(6)

    探索MySQL高可用架构之MHA(6) -----构建mysql高可用系列(共9篇) 上一篇文章介绍了本次架构的Atlas读写分离! 本篇文章主要介绍本次架构中的keepalive部分! 什么是Kee ...

  6. 从mysql高可用架构看高可用架构设计

    高可用HA(High Availability)是分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计减少系统不能提供服务的时间. 假设系统一直能够提供服务,我们说系统的可用性是100%.如果 ...

  7. mysql高可用方案MHA介绍

    mysql高可用方案MHA介绍 概述 MHA是一位日本MySQL大牛用Perl写的一套MySQL故障切换方案,来保证数据库系统的高可用.在宕机的时间内(通常10-30秒内),完成故障切换,部署MHA, ...

  8. 第5章 MySQL高可用架构设计

    第5章 MySQL高可用架构设计 数据库复制 复制解决了什么问题????? 非共享架构 二进制日志 binlog工具 查看日志格式 show variables like "binlog_f ...

  9. Centos7 Mysql5.6.40 高可用架构--MHA

    Centos7 Mysql5.6.40 高可用架构--MHA 往期历史 mysql高可用--MHA架构可以实现什么效果? 架构前提: MHA 高可用方案软件构成 MHA环境搭建 往期历史 Centos ...

  10. Heartbeat+DRBD+MySQL高可用架构方案与实施过程细节 【转】

    文章出处:Heartbeat+DRBD+MySQL高可用架构方案与实施过程细节 [转]             mysql数据库高可用高扩展性架构方案实施[原] Heartbeat+DRBD+MySQ ...

最新文章

  1. R语言curve绘图函数
  2. 一个常用的表单文本框input输入提示
  3. 一种mac使用机械键盘的解决方案
  4. 队列(常用数据结构之一)
  5. 数据库原理学习笔记(二)数据库范式
  6. 嵌入式牛人 | 这些单片机编程思想超硬核
  7. 方形物体绕中心旋转的扭力_三维旋转
  8. 学成在线--26.课程图片管理(图片删除)
  9. 玩游戏计算机丢失msvcp,Win10系统玩吃鸡提示游戏缺少msvcp140.dll的解决方法
  10. android连接指定的wifi
  11. java中的serializable_Java中的Serializable浅谈,只是浅谈
  12. Aircrack 破解无线网密码 (跑字典法)
  13. python处理考勤数据_python连接中控考勤机分析数据
  14. 为什么python打不开_Python打不开.py文件
  15. 永恒的风控:大宗商品贸易融资背后的核心风险该如何规避?
  16. Frenet坐标系与Cartesian坐标系互转(三):应用示例
  17. 交换机、路由器设备选型总结
  18. 编写Python爬虫抓取豆瓣电影TOP100及用户头像的方法
  19. ABAP 使用Smartforms发送HTML邮件
  20. Linux(Ubuntu)下使用OneNote

热门文章

  1. Vs2010中水晶报表引用及打包
  2. 【论文阅读】Maxout Networks
  3. 专注NLP、推荐等AI算法招聘群,慢者无,包括几乎所有公司最新信息
  4. 分享两本高质量算法书籍
  5. 【赛尔原创】用对比集成式方法理解基于文档的对话
  6. pyTorch基础入门练习
  7. LeetCode—Python版数组简单题(一)
  8. 吴恩达深度学习——提高算法运行效率
  9. 李宏毅机器学习——深度学习卷积神经网络
  10. 零压力入门算法的顶流畅销书《漫画算法》施展了哪些“魔法”?