当前位置:首页 > 编程笔记 > 正文
已解决

MySQL高可用架构学习

来自网友在路上 160860提问 提问时间:2023-10-20 00:47:18阅读次数: 60

最佳答案 问答题库608位专家为你答疑解惑

MHA(Master HA)是一款开源的由Perl语言开发的MySQL高可用架构方案。它为MySQL 主从复制架构提供了 automating master failover 功能。MHA在监控到 master 节点故障时,会提升其中拥有最新数据的 slave 节点成为新的 master 节点,在此期间,MHA 会通过于其它从节点获取额外信息来避免一致性方面的问题。MHA 还提供了 master 节点的在线切换功能,即按需切换 master / slave 节点。

在这里插入图片描述

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

MHA Manager(管理节点)作用masterha_check_ssh检查MHA的ssh-key masterha_check_repl检查主从复制情况masterha_manger启动MHAmasterha_check_status检测MHA的运行状态masterha_master_monitor检测master是否宕机masterha_master_switch手动故障转移masterha_conf_host手动添加server信息masterha_secondary_check建立TCP连接从远程服务器masterha_stop停止MHA

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

MHA Node(数据节点)作用save_binary_logs保存宕机的master的binlogapply_diff_relay_logs识别 relay logs的差异对比filter_mysqlbinlog防止回滚事件,截取日志purge_relay_logs清除中继日志relay_logs

MHA故障发现与转移过程

在这里插入图片描述

在这里插入图片描述

转移过程:保证所有从属服务器之间数据是一致的。

在这里插入图片描述

比对后,将差异数据发往每一个从属服务器。所有从属服务器日志与主服务器保持同步。

在这里插入图片描述

主服务器选择方案:

在这里插入图片描述

VIP虚拟IP漂移,将原有的VIP指向新的主服务器。大概有几秒中时间。

在这里插入图片描述

old master恢复后:

在这里插入图片描述

总结一下

优点:

  • 由perl语言开发的开源工具
  • 可以支持基于GTID的复制模式
  • 当主DB不可用时,从多个从服务器中选举出来新的主DB
  • 提供了主从切换和故障转移功能,在线故障转移时不易丢失数据
  • 同一个监控节点可以监控多个集群

缺点:

  • 需要编写脚本或利用第三方工具来实现VIP的配置
  • MHA启动后只监控主服务器是否可用,没办法监控从服务器
  • 需要基于SSH免认证登陆配置,存在一定的安全隐患
  • 没有提供从服务器的读负载均衡功能
查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"MySQL高可用架构学习":http://eshow365.cn/6-19954-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!