环境软件版本:
操作系统:CentOS Linux release 7.8.2003 (Core)
Mysql:mysql Ver 14.14 Distrib 5.7.28, for Linux (x86_64) using EditLine wrapper
MHA:0.56 下载地址:https://github.com/yoshinorim/mha4mysql-manager/wiki/Downloads
Perl: version 16, perl 5 (ps: 后面下载mha的rpm相关perl依赖包,没有源的话可以yum install epel-release -y 执行这个命令,因为自带的perl可能缺少源).
架构介绍:
| 机器名称 | ip | MHA节点 |
|---|---|---|
| MHA | 四个互通就行 | manager |
| master | 四个互通就行 | node |
| master-bak | 四个互通就行 | node |
| slave | 四个互通就行 | node |
环境安装过程:
先把三台机器主从配置好
**注意**: 因为后面mha要主从切换,所以从节点也把binlog配置上。不然后面mha说没有可以切换的主节点<br /> 
安装perl 和 mha (在mha机器上)
1 yum install epel-release -y<br /> 2.yum -y install perl-DBD-MySQL perl-Config-Tiny perl-Log-Dispatch perl-Parallel-ForkManager perl-Time-HiRes
给node机器安装node的rpm。给mha机器安装node和manager的rpm
mha下载地址:[https://github.com/yoshinorim/mha4mysql-manager/wiki/Downloads](https://github.com/yoshinorim/mha4mysql-manager/wiki/Downloads)
所有节点建立ssh免登(因为后面要切换主从)
ssh-keygen -t rsa<br /> ps:具体步骤参考后面引用博客,自己找
环境搭建好了,配置文件搞起来
mha节点的配置:
1、新建配置文件
vim /etc/masterha_default.cnf
内容如下:
[server default]
manager_workdir =/mha
manager_log= /mha/manager.log
remote_workdir =/mha
user=root
password=123123
ssh_user=root
repl_user=root
repl_password=123123
ping_interval=1
[server1]
hostname=192.168.0.104
port=3306
master_binlog_dir=/var/lib/mysql
candidate_master=1
[server2]
hostname=192.168.0.107
port=3306
master_binlog_dir=/var/lib/mysql
candidate_master=1
[server3]
hostname=192.168.0.106
master_binlog_dir=/var/lib/mysql
port=3306
no_master=1
6.检测是否安装配置好了
masterha_check_ssh —conf=/etc/masterha_default.cnf
# 检测免密钥环境需要看到[info]All SSH connection tests passed successfully.提示才
算通过
masterha_check_repl—conf=/etc/masterha/app1.cnf
# 检测复制环境需要看到MySQL Replication Health is OK. 提示才算通过
7 开启mha,然后测试主从切换
nohup masterha_manager —conf=/etc/masterha_default.cnf &
8 测试
关掉主库,看是否切换了主库。
问题参考博客:
https://www.cnblogs.com/yue-hong/p/6835909.html
我搭建时候参考博客:
https://zhuanlan.zhihu.com/p/36527159
http://www.ttlsa.com/mysql/step-one-by-one-deploy-mysql-mha-cluster/
