1.前提条件
先配置mysql主从配置 一主两从
my.cnf文件编辑如下
server_id=1
gtid_mode=ON
enforce_gtid_consistency=ON
log_slave_updates=ON
log_bin=binlog
三台主机id不能一致
2.程序安装
[root@server1 MHA-7]# yum install mha4mysql-manager-0.58-0.el7.centos.noarch.rpm mha4mysql-node-0.58-0.el7.centos.noarch.rpm -y
安装服务端程序并解决依赖性
客户段需要安装以下程序
mha4mysql-node-0.58-0.el7.centos.noarch.rpm
在服务端复制配置文件到/etc/mha目录下
[root@server4 conf]# pwd
/root/MHA-7/mha4mysql-manager-0.58/samples/conf
[root@server4 conf]# cat masterha_default.cnf app1.cnf > /etc/mha/app1.cnf
[root@server4 conf]# cd /etc/mha/
[root@server4 mha]# ls
app1.cnf
如果有多套配置 则可以设置多套配置文件
由于程序在运行是需要使用mysql的系统用户来进行登陆 所以还需要打开mysql管理员的远程登录
编辑文件app1.cnf
[server default]
#登陆mysql的用户及密码
user=root
password=Westos_111
#远程连接主机要求全部免密执行
ssh_user=root
#使用的复制用户账户密码
repl_user=repl
repl_password=Westos_111
#mysql的二进制文件位置
master_binlog_dir= /var/lib/mysql
#远程工作目录
remote_workdir=/tmp
#检测问题 看是否是属于自身的故障 通过ping其他主机来检测
secondary_check_script= masterha_secondary_check -s server2 -s server3
#检测频率
ping_interval=3
# master_ip_failover_script= /script/masterha/master_ip_failover
# shutdown_script= /script/masterha/power_manager
# report_script= /script/masterha/send_report
# master_ip_online_change_script= /script/masterha/master_ip_online_change
[server default]
#管理端的数据及日志存放目录
manager_workdir=/etc/mha/app1
manager_log=/etc/mha/app1/manager.log
[server1]
hostname=172.25.31.1
[server2]
hostname=172.25.31.2
#此选项的作用是指定备用机器 当server1崩溃之后使用server2当作master
candidate_master=1
#忽略延迟 等双方数据追平之后再接管master
check_repl_delay=0
[server3]
hostname=172.25.31.3
#不作为master使用
no_