server1,2,3:
启动数据库
server4;
免密检测和健康检查
MHA高可用
手动切换
两种方法
1.
server1,2,3:
/etc/init.d/mysqld start
主服务器存活状态下切换
server4;
cd MHA-7/
masterha_check_repl --conf=/etc/masterha/app.cnf
##一主两从状态健康检查才会成功
masterha_master_switch --conf=/etc/masterha/app.cnf --master_state=alive --new_master_host=172.25.9.2 --new_master_port=3306 --orig_master_is_new_slave --running_updates_limit=10000
##全部问题输入YES,在主服务器存活状态下切换
masterha_check_repl --conf=/etc/masterha/app.cnf
##再次进行健康检查,保证切换后集群工作正常
server1,2,3:
show master status;
show slave status\G;
##在三台服务器中查看状态,确保切换成功
##查看主从状态是否切换成功
2.主服务器宕机情况下切换
server2:
/etc/init.d/mysqld stop
##在主服务器关闭状态下切换
server4:
masterha_master_switch --master_state=dead --conf=/etc/masterha/app.cnf --dead_master_host=172.25.9.2 --dead_master_port=3306 --new_master_host=172.25.9.1 --new_master_port=3306 --ignore_last_failover
##手动切换
masterha_check_repl --conf=/etc/masterha/app.cnf
##健康检查无法通过
需要手动:
server2:
mysql -p
change master to master_host='172.25.9.1',master_user='repl',master_password='westos',master_auto_position=1;
start slave;
show slave status\G;
##切换成功
server3:
自动切换
切换过程中,关闭主服务器,切换自动进行
server4:
需要删除锁定文件,(锁定文件作用:防止抖动)
cd /etc/masterha
cd app1
rm -rf *
cd /etc/masterha
masterha_manager --conf=/etc/masterha/app.cnf &
##后台执行
ps ax ##查看进程
server1:(现存主服务器)
/etc/init.d/mysqld stop
server4:
cat /etc/masterha/app1/manager.log ##查看日志切换成功
masterha_check_repl --conf=/etc/masterha/app.cnf
server1:
change master to master_host='172.25.9.2',master_user='repl',master_password='westos',master_auto_position=1;
start slave;
show slave status\G;
server4:
masterha_check_repl --conf=/etc/masterha/app.cnf
##健康检查通过
vip飘移切换
server4:
lftp 172.25.0.250
cd pub/docs/mysql
get master_ip_failover master_ip_online_change
chmod +x master_ip_*
vim master_ip_failover
vim master_ip_online_change
server2:
ip addr add 172.25.9.100/24 dev eth0
server4:
masterha_check_repl --conf=/etc/mmasterha/app.cnf
vim app.cnf
master_ip_failover_script= /etc/masterha/master_ip_failover
master_ip_online_change_script=/etc/masterha/master_ip_online_change
masterha_master_switch --conf=/etc/masterha/app.cnf --master_state=alive --new_master_host=172.25.9.2 --new_master_port=3306 --orig_master_is_new_slave --running_updates_limit=10000
server1:
ip addr show
主机:mysql -c -uroot -pwestos
方法二
自动切换vip漂移
server4:
masterha_manager --conf=/etc/masterha/app.cnf &
ps ax
server1: /etc/init.d/mysqld stop
server4:
ps ax
cd app1
cat manager.log
server1:
change master to master_host='172.25.9.2',master_user='repl',master_password='westos',master_auto_position=1;
start slave;
show slave status\G;
server4:
masterha_check_repl --conf=/etc/masterha/app.cnf