【MySql】mysql之MHA高可用配置及故障切换

一、MHA概念

MHA(Master High Availability)是一套优秀的Mysql高可用环境下故障切换和主从复制的软件。

  • MHA的出现就是解决Mysql单点的问题。

  • Mysql故障切换过程中,MHA能做到0-30秒内自动完成故障切换操作。

  • MHA能在故障切换的过程中最大程度受伤保证数据的一致性,以达到真正意义上的高可用。

1、MHA的组成

MHA Node(数据节点)

  • MHA Node运行在每台Mysql服务器上

MHA Manager(管理节点)

  • MHA Manager 可以单独部署在一台独立的机器上,管理多个master-slave集群,也可以部署在一台slave节点上。
  • MHA Manager 会定时探测集群中的master节点,当master出现故障时,它可以自动将最新数据的slave 提升为新的master,然后将所有其他的slave重新指向新的master,整个故障转移过程对应用程序完全透明。

2、MHA的特点

  • 自动故障切换过程中, MHA试图从宕机的主服务器上保存二进制日志,最大程度的保证数据不丢失。
  • 使用半同步复制 ,可以大大降低数据丢失的风险,如果只有一个slave已经收到了最新的二进制日志,MHA可以将最新的二进制日志应用于其它所有的slave服务器上,因此可以保证所有节点的数据一致性。
  • 目前MHA支持一主多从架构,最少三台服务,即一主两从。

3、主从复制有多少种复制方法

总共有三种:同步、半同步、异步

异步: 在主从架构中加入当客户端发送了一条update语句,主服务器上I/O 线程将二进制日志写入到binlog文件之后就返回客户端结构,不管从服务器是否已经同步到了自己的relay-log(中继日志中)。

  • 优点:性能是最好的。
  • 缺点:主服务器宕机,容易造成数据不一致,mysql中默认的就是异步复制。

同步: 也称全同步,当主服务器完成更新,并且同步到所有从服务器才会返回成功结果。

  • 优点:安全
  • 缺点:效率低,影响性能。

半同步: 将两个方法折中,当主服务器完成更新,至少有一个从服务器接收到并完成更新,主服务器就返回成功。

4、MHA工作原理

  • 从宕机崩溃的master 保存二进制日志事件(binlog  events)
  • 识别含有最新的更新 slave 日志
  • 应用差异的中继日志(relay log)到其他的slave
  • 应用从master保存的二进制日志事件
  • 提升一个 salve 为新的master
  • 使其他的slave连接行的master 进行复制

二、实验:

三、总结

1、mha

① 作用:mysql的高可用 + 故障切换

② 核心部分:
MHA组件:

  • manager: 主要的功能:做MHA 启动、关闭管理和检测mysql各种健康状态
  • node: 在发生故障时,尽可能的保存二进制日志,并且实现故障切换(VIP地址飘逸)

③ MHA需要配置的文件(2个):

  • master ip failover脚本文件: 命令工具 ,定义的是基于VIP的检测和故障转移 (VIP从master----->新的 master)
  • app1.conf配置文件: mha的主要配置文件,主要定义了mha的工作目录、日志。
    mysql二进制日志位置
    用mha的登录mysql的用户、密码使用从服务器
    身份同步master的账号、密码 (五个)

④ 故障切换mha会做哪些动作:

1)mha会多次尝试检测master的存活状态

2)mha会多次尝试、尽可能的保存master的二进制日志

3)mha会根据app1.cnf中的配置部分,进行从服务器------》 主服务器的位置

4)mha最后会将master的VIP地址切换到从服务器的位置

5)mha再选择完新的master之后,会在其余的salve上执行change master操作,指向性的master, 来保证Mysql的集群的健康性

2、mha故障问题

① 软件连接必须要做

② mysql配置文件,/etc/my.cnf中的建议将中文字符集注释掉

③ 免交互必须得做

③ 五个账号授权(其中三个账号是测试环境需要做的)

④ 初次运行MHA功能是,需要临时添加虚拟IP

⑤ 配置文件–效验 (master_ip_failover 1个故障切换的脚本,app1.cnf mha的主配置文件)

⑥ 先安装node节点 再安装主节点。
⑦ app1.cnf 配置文件中,mysql的二进制文件位置,一定要指对。

⑧ mha的内存,建议4G以上,否则可能导致VIP地址无法漂移

----->新的 master)

  • **app1.conf配置文件:**mha的主要配置文件,主要定义了mha的工作目录、日志。
    mysql二进制日志位置
    用mha的登录mysql的用户、密码使用从服务器
    身份同步master的账号、密码 (五个)

④ 故障切换mha会做哪些动作:

1)mha会多次尝试检测master的存活状态

2)mha会多次尝试、尽可能的保存master的二进制日志

3)mha会根据app1.cnf中的配置部分,进行从服务器------》 主服务器的位置

4)mha最后会将master的VIP地址切换到从服务器的位置

5)mha再选择完新的master之后,会在其余的salve上执行change master操作,指向性的master, 来保证Mysql的集群的健康性


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值