MySQL MHA详解(一)——基本原理

今天继续给大家介绍MySQL的相关知识,本文主要内容是MySQL MHA架构的基本知识。

一、MySQL MHA简介

MySQL MHA,即Master High Availability,即MySQL高可用,是一个MySQL主从架构下实现故障切换和主从提升的解决方案。在MySQL主从同步架构中,当部分主库发生故障后,MHA能够在0-30秒时间内完成数据库的故障切换工作,并且尽最大努力保持数据一致性。
目前MHA主要支持一主多从的架构,在搭建MHA时至少要有一个Master主库和两个Slave从库,MHA架构支持任何存储引擎。

二、MySQL MHA故障切换工作原理

在MySQL MHA检测到MySQL架构中MySQL主库发生故障后,MHA试图从宕机的MySQL主库上保存二进制日志,最大程度的保证数据不会丢失。并选择一个Slave从库,将其提升为新的MySQL主从架构中的主库,并设置其他的Slave从库指向新的MySQL主库。具体过程如下:
1、MySQL MHA试图从宕机崩溃的MySQL主库中保存二进制日志。
2、MySQL MHA试图识别数据最新的Slave。
3、将该Slave数据库的中继日志同步到其他的从库,保证新的MySQL主从同步架构中数据的一致性。
4、应用从Master中保存的二进制日志。
5、将一个Slave提升为新的master。
6、控制其他Slave指向新的master。

三、MySQL MHA工具包简介

MySQL MHA由MySQL Manager(管理节点)和MySQL Node(数据节点)组成,数据节点部署在每一台MySQL数据库上,管理节点部署在一台独立的机器上,由管理节点负责架空数据节点的状态,当发现数据节点宕机时,管理节点会立即控制数据节点进行故障切换相关工作。
在安装MySQL MHA管理节点后,设备上会存在以下工具包,这些工具包及其作用如下:
1、masterha_check_ssh
负责检查MHA的SSH配置链接情况
2、masterha_check_repl
检查MySQL主从同步的复制情况
3、masterha_manager
启动MySQL MHA
4、masterha_check_status
检测当前MHA的状态
5、masterha_master_switch
自动或者手动控制MHA故障转移
6、masterha_conf_host
添加或者删除配置的server信息
同样的,在安装MySQL MHA数据节点后,设备上还会存在以下工具包,这些工具包及其作用如下:
1、save_binary_logs
用于保存或复制master的二进制日志
2、apply_diff_relay_logs
用于识别差异的中继日志事件,并将差异的事件应用于其他的slave
3、purge_relay_logs
清除中继日志
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

永远是少年啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值