vim /etc/mha/app1.cnf [server default] manager_log=/var/log/mha/app1/manager manager_workdir=/var/log/mha/app1 master_binlog_dir=/data/msyql/binlog user=mha password=mha ping_interval=2 //探测节点状态的时间间隔 repl_password=123 repl_user=repl ssh_user=root [server1] hostname=10.0.0.200 port=3306 [server2] hostname=10.0.0.201 port=3306 [server3] hostname=10.0.0.203 port=3306
主库宕机谁来接管?
1. 所有从节点日志都是一致的,默认会以配置文件的顺序去选择一个新主。 2. 从节点日志不一致,自动选择最接近于主库的从库 3. 如果对于某节点设定了权重(candidate_master=1),权重节点会优先选择。 但是此节点日志量落后主库100M日志的话,也不会被选择。可以配合check_repl_delay=0,关闭日志量的检查,强制选择候选节点。 (1) ping_interval=1 #设置监控主库,发送ping包的时间间隔,尝试三次没有回应的时候自动进行failover (2) candidate_master=1 #设置为候选master,如果设置该参数以后,发生主从切换以后将会将此从库提升为主库,即使这个主库不是集群中事件最新的slave 应用场景:两地三中心,Keepalive实现VIP (3)check_repl_delay=0 #默认情况下如果一个slave落后master 100M的relay logs的话, MHA将不会选择该slave作为一个新的master,因为对于这个slave的恢复需要花费很长时间,通过设置check_repl_delay=0,MHA触发切换在选择一个 新的master的时候将会忽略复制延时,这个参数对于设置了candidate_master=1的主机非常有用,因为这个候选主在切换的过程中一定是新的master。