配置关键:程序软连接(所有节点)。因为MHA只能从/usr/bin中进行调用
ln -s /application/mysql/bin/mysqlbinlog /usr/bin/mysqlbinlog
ln -s /application/mysql/bin/mysql /usr/bin/mysql
1、配置互信(主库上操作 )
rm -rf /root/.ssh
ssh-keygen
cd /root/.ssh
mv id_rsa.pub authorized_keys
scp -r /root/.ssh root@192.168.31.214:/root #发送到214从库
scp -r /root/.ssh root@192.168.31.215:/root #发送到215从库
2、验证各个节点
a、主库213
ssh 192.168.31.213 date
ssh 192.168.31.214 date
ssh 192.168.31.215 date
b、从库214
ssh 192.168.31.213 date
ssh 192.168.31.214 date
ssh 192.168.31.215 date
c、从库215
ssh 192.168.31.213 date
ssh 192.168.31.214 date
ssh 192.168.31.215 date
3、所有节点安装yum源扩展包及Node软件依赖包
yum install -y epel-release-latest-7.noarch.rpm
yum install -y perl-DBD-MySQL ncftp perl-DBI
rpm -ivh mha4mysql-node-0.58-0.el7.centos.noarch.rpm
4、安装Manager软件(也可以单独找一台。我正常是最后一台MySQL服务器)
yum install -y perl-Config-Tiny.noarch perl-Time-HiRes.x86_64 perl-Parallel-ForkManager perl-Log-Dispatch.noarch
rpm -ivh mha4mysql-manager-0.58-0.el7.centos.noarch.rpm
5、创建MHA需要的用户(主库操作)
create user mha@'%' identified by '123456';
grant all privileges on *.* to mha@'%' with grant option;
6、配置文件整理(最后一台MySQL服务器上,因为我们mha管理是防止这台服务器上的)
a、创建mha配置文件目录
mkdir -p /etc/mha
b、创建mha日志目录
mkdir -p /var/log/mha/app1
c、编辑mha配置文件
vi /etc/mha/app1.cnf
[server default]
manager_log=/var/log/mha/app1/manager.log
manager_workdir=/var/log/mha/app1
master_binlog_dir=/application/mysql/data/logs
user=mha
password=123456
ping_interval=2
repl_password=123456
repl_user=repl
ssh_user=root
[server1]
hostname=192.168.31.213
port=3306
[server2]
hostname=192.168.31.214
port=3306
[server3]
hostname=192.168.31.215
port=3306
d、MHA状态检查
masterha_check_ssh --conf=/etc/mha/app1.cnf #互信检查
masterha_check_repl --conf=/etc/mha/app1.cnf #主从复制检查
e、开启MHA
nohup masterha_manager --conf=/etc/mha/app1.cnf --remove_dead_master_conf --ignore_last_failover < /dev/null > /var/log/mha/app1/manager.log 2>&1 &
f、查看MHA状态
masterha_check_status --conf=/etc/mha/app1.cnf
g、查看监控状态
tail -f /var/log/mha/app1/manager.log
7、模拟故障及恢复
第一步:shutdown停止主库,此时MHA服务监控会自动更新MHA服务的操作流程;
第二步:将之前的主库启动并进入;
第三步:再加入主从队列及开启从复制;
第四步:在MHA的配置文件里面再次加上当前的从库配置;
第五步:再次检查互信、主从复制及开启MHA。