MHA(Master High Availability)是一套优秀的Mysql高可用环境下故障切换和主从复制的软件。
MHA的出现就是解决Mysql单点的问题。
Mysql故障切换过程中,MHA能做到0-30秒内自动完成故障切换操作。
MHA能在故障切换的过程中最大程度受伤保证数据的一致性,以达到真正意义上的高可用。
MHA Node(数据节点)
MHA Manager(管理节点)
总共有三种:同步、半同步、异步
异步: 在主从架构中加入当客户端发送了一条update语句,主服务器上I/O 线程将二进制日志写入到binlog文件之后就返回客户端结构,不管从服务器是否已经同步到了自己的relay-log(中继日志中)。
同步: 也称全同步,当主服务器完成更新,并且同步到所有从服务器才会返回成功结果。
半同步: 将两个方法折中,当主服务器完成更新,至少有一个从服务器接收到并完成更新,主服务器就返回成功。
① 作用:mysql的高可用 + 故障切换
② 核心部分:
MHA组件:
③ MHA需要配置的文件(2个):
④ 故障切换mha会做哪些动作:
1)mha会多次尝试检测master的存活状态
2)mha会多次尝试、尽可能的保存master的二进制日志
3)mha会根据app1.cnf中的配置部分,进行从服务器------》 主服务器的位置
4)mha最后会将master的VIP地址切换到从服务器的位置
5)mha再选择完新的master之后,会在其余的salve上执行change master操作,指向性的master, 来保证Mysql的集群的健康性
① 软件连接必须要做
② mysql配置文件,/etc/my.cnf中的建议将中文字符集注释掉
③ 免交互必须得做
③ 五个账号授权(其中三个账号是测试环境需要做的)
④ 初次运行MHA功能是,需要临时添加虚拟IP
⑤ 配置文件–效验 (master_ip_failover 1个故障切换的脚本,app1.cnf mha的主配置文件)
⑥ 先安装node节点 再安装主节点。
⑦ app1.cnf 配置文件中,mysql的二进制文件位置,一定要指对。
⑧ mha的内存,建议4G以上,否则可能导致VIP地址无法漂移
----->新的 master)
④ 故障切换mha会做哪些动作:
1)mha会多次尝试检测master的存活状态
2)mha会多次尝试、尽可能的保存master的二进制日志
3)mha会根据app1.cnf中的配置部分,进行从服务器------》 主服务器的位置
4)mha最后会将master的VIP地址切换到从服务器的位置
5)mha再选择完新的master之后,会在其余的salve上执行change master操作,指向性的master, 来保证Mysql的集群的健康性