MHA的概念

MHA的概念MHA 概念 来历 MHA Master High Availability 由日本 DeNA 公司 youshimaton 开发 是一套 MySQL 高可用性环境下故障切换和主从提升的高可用软件 优点 其具有自动故障检测和故障转移的功能 可以在检测到 mysql 发生故障时 10

大家好,我是讯享网,很高兴认识大家。

MHA概念



来历


MHA(Master High Availability)由日本DeNA公司youshimaton开发,是一套MySQL高可用性环境下故障切换和主从提升的高可用软件。



优点


其具有自动故障检测和故障转移的功能,可以在检测到mysql发生故障时,10~30秒之内自动完成数据库的故障切换操作,远快于手动切换,且能在切换过程中,最大程度上保证数据的一致性。

节省资源,仅部署一个Manager节点就能管理多个复制。

安装简单,且不需要修改现有的复制部署。

具有在线主库切换的功能,能够快速且安全的切换当前运行的主库到一个新的主库中。



限制


主要支持一主多从的架构,要搭建MHA,要求一个复制集群中必须最少有三台数据库服务器。

manager和node的服务器间可通过ssh访问。当服务器硬件故障或无法通过ssh访问时,MHA会无法保存到主库的二进制日志,只会进行故障转移而丢失最新数据。使用 MySQL的半同步复制,可以大大降低数据丢失的风险。



组成


manager管理节点

可单独部署在一台独立机器上,也可以部署在一台slave节点上。用于管理多个master/slave集群, 每个master/slave集群称作一个application。就像一个将军可以统领多个军队。


讯享网



node数据节点

其运行在每台mysql服务器上,不论是master还是slave,其会接收manager发的指令。在manager检测到当前的master出现故障时,node可以自动将最新数据的slave提升为新的master,然后将所有其他的slave重新指向新的master。



工作原理


保存宕机的master的二进制日志事件

识别具有最新更新的slave

应用差异的中继日志到其他slave

应用从master保存二进制日志事件

提升一个slave为新的master

使用其他slave指向新的master进行复制



MHA工具


masterha_check_ssh 检查 MHA的SSH配置情况 masterha_check_repl 检查 MySQL 复制状况 masterha_manager 启动 MHA masterha_check_status 检测当前MHA运行状态 masterha_master_monitor 检测 Master 是否宕机 masterha_master_switch 手动Master节点切换 masterha_conf_host 添加或删除配置的server信息 masterha_stop 关闭MHA服务的工具 

讯享网

下列为node节点的工具,通常由Manager节点的脚本触发,无需人工操作

讯享网save_binary_logs 保存和复制Master节点的binlog日志 apply_diff_relay_logs 识别差异的中级日志时间并将其应用到其他slave filter_mysqlbinlog 去除不必要的 ROOLBACK 事件(已经废弃) purge_relay_logs 清除中继日志 secondary_check_script 检测master的可用性 master_ip_failover_script 更新application使用的master的ip report_script 发送报告 init_conf_load_script 加载初始配置参数 master_ip_online_change_script 更新master节点ip地址 
小讯
上一篇 2025-03-18 08:54
下一篇 2025-03-18 09:29

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/37793.html