1、首先实现主从复制(1主2从基数个)
https://blog.csdn.net/YiSean96/article/details/104752501
2、安装MHA
代理机:
yum install mha4mysql-manager-0.58-0.el7.centos.noarch.rpm perl-* mha4mysql-node-0.58-0.el7.centos.noarch.rpm -y
ssh-keygen #免密访问
ssh-copy-id server1/2/3
ssh server3 #尝试连接
scp mha4mysql-node-0.58-0.el7.centos.noarch.rpm server1:/root/
scp mha4mysql-node-0.58-0.el7.centos.noarch.rpm server2:/root/
scp mha4mysql-node-0.58-0.el7.centos.noarch.rpm server3:/root/
mkdir /etc/masterha
cd /etc/masterha/
vim app1.cnf
[server default]
manager_workdir=/etc/masterha
manager_log=/var/log/masterha.log
master_binlog_dir=/etc/masterha
password=redhat
user=root
ping_interval=1
remote_workdir=/tmp
repl_password=redhat
repl_user=repl
ssh_root=root
[server1]
hostname=172.25.1.1
port=3306
[server2]
hostname=172.25.1.2
port=3306
candidate_master=1
check_repl_delay=0
[server3]
hostname=172.25.1.3
port=3306
no_master=1
scp -r .ssh server1/2/3: #server123之间免密
masterha_check_ssh --conf=/etc/masterha/app1.cnf #检测连接
masterha_check_repl --conf=/etc/masterha/app1.cnf #检测连接
主从库:
安装yum install -y mha4mysql-node-0.58-0.el7.centos.noarch.rpm
grant all on *.* to root@'%' identified by 'redhat'; #授权root连接
测试:(缺实验图后面补)
nohup masterha_manager --conf=/etc/masterha/app1.cnf --remove_dead_master_conf --ignore_last_failover < /dev/null > /var/log/masterha.log 2>&1 &
masterha_stop --conf=/etc/masterha/app1.cnf #关闭,测试手动
masterha_master_switch --conf=/etc/masterha/app1.cnf --master_state=alive --new_master_host=172.25.1.1 --new_master_port=3306 --orig_master_is_new_slave --running_updates_limit=10000 #自动测试
nohup masterha_manager --conf=/etc/masterha/app1.cnf &>/dev/null & #开启在后台,
ps aux | grep mysql #删除也会自己开启