MHA的理论知识网上有很多教程,这里不会说明;仅推荐博客链接!

MHA的理论说明:http://www.ywnds.com/?p=8094

MHA的安装包需要在google上面下载,或者就是csdn上面花钱下载!

详细说明怎么搭建MHA

#四台服务器分配如下
10.0.102.214         test3            MHA的管理节点
10.0.102.204         test2            master节点
10.0.102.179         test1            slave节点(作为备用的管理节点)
10.0.102.221         mgt01            slave节点

#这里我们一主两从的架构基于binlog复制,首先需要配置好一主两从的架构。
#需要注意的是,作为备用主的slave服务器需要开通二进制日志和配置log_slave_updates参数
#MySQL基于binglog复制过程如下: https://www.cnblogs.com/wxzhe/p/10051114.html
#部署过程中不会说明怎么搭建MySQL主从架构

第一步:搭建好主从架构,也就是一主两从的架构。【MHA的官方不支持一主一从,但是传闻阿里修改了源码使其支持一主一从,这里使用官方的结构】

需要注意的是要在作为备用主的服务器添加如下配置:

log-bin=                        #开启二进制日志
log_slave_updates               #把SQL线程的动作写入二进制日志

第二步:安装MHA

在MHA的集群的所有服务器上需要安装MHA-node节点,

[root@mgt01 ~]# yum install epel-release perl-DBD-MySQL perl-CPAN -y             #安装依赖包
[root@mgt01 src]# ls
mha4mysql-node-0.56.tar.gz
[root@mgt01 src]# tar zxvf mha4mysql-node-0.56.tar.gz    -C  ../                 #解压
[root@mgt01 src]# cd ../
[root@mgt01 local]# cd mha4mysql-node-0.56/
[root@mgt01 mha4mysql-node-0.56]# ls
AUTHORS  bin  COPYING  debian  inc  lib  Makefile.PL  MANIFEST  META.yml  README  rpm  t
[root@mgt01 mha4mysql-node-0.56]# perl Makefile.PL                               #编译
[root@mgt01 mha4mysql-node-0.56]# make  & make install                           #安装

[root@mgt01 ~]# cd /usr/local/bin #安装完成之后,会在/usr/local/bin目录下面生成如下文件
[root@mgt01 bin]# ls
apply_diff_relay_logs  filter_mysqlbinlog  purge_relay_logs  save_binary_logs
[root@mgt01 bin]# ll
total 44
-r-xr-xr-x 1 root root 16367 Dec  8 10:29 apply_diff_relay_logs
-r-xr-xr-x 1 root root  4807 Dec  8 10:29 filter_mysqlbinlog
-r-xr-xr-x 1 root root  8261 Dec  8 10:29 purge_relay_logs
-r-xr-xr-x 1 root root  7525 Dec  8 10:29 save_binary_logs

注意上面的这一步操作,需要在MHA集群的每个节点上都执行!

安装MHA-manager,也就是MHA集群的管理节点!

#首先安装MHA-manager需要安装的包
yum install perl-DBD-MySQL perl-Config-Tiny perl-Log-Dispatch perl-Parallel-ForkManager perl-Time-HiRes -y
#安装MHA-manager
tar
zxvf mha4mysql-manager-0.56.tar.gz cd mha4mysql-manager-0.56/ perl Makefile.PL make & make install
cp -frp samples/scripts/* /usr/local/bin #把这些脚本文件拷贝到/usr/local/bin下面,这样不用再添加环境变量
master_ip_failover:故障自动切换时对vip管理的脚本,不是必须。如果我们使用keepalived的,我们可以自己编写脚本完成对vip的管理,比如监控mysql,如果mysql异常,我们停止keepalived就行,这样vip就会自动漂移。

master_ip_online_change:在线切换时对vip的管理,不是必须,同样可以自行编写简单的shell完成。

power_manager:故障发生后关闭主机的脚本,不是必须。

send_report:因故障切换后发送报警的脚本,不是必须,可自行编写简单的shell完成。
脚本说明

相关文章:

  • 2021-12-18
  • 2021-08-08
  • 2021-08-23
  • 2021-11-03
  • 2021-07-30
  • 2021-11-25
  • 2021-06-05
  • 2021-10-04
猜你喜欢
  • 2021-02-20
  • 2022-12-23
  • 2018-06-25
  • 2022-12-23
  • 2021-07-13
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案