MySQL之MHA+keepalived方案演示(三)

一、MHA之SSH免密码登录测试

1.1配置SSH登录无密码验证

上述博文已经提到过,此处再次粘贴出来,防止遗忘此步骤
在server02 192.168.2.128操作(Master):

192.168.2.128 [root ~]$ ssh-keygen -t rsa
192.168.2.128 [root ~]$ ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.2.129
192.168.2.128 [root ~]$ ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.2.130

每个机器以此类推循环操作免密码

1.2. 测试SSH免密码登录

检查SSH配置(server04 192.168.2.130 Monitor 监控节点上操作),如下:

[root@server04 ~]# masterha_check_ssh --conf=/etc/masterha/app1.cnf
Sun Jul  1 12:25:54 2018 - [warning] Global configuration file /etc/masterha_default.cnf not found. Skipping.
Sun Jul  1 12:25:54 2018 - [info] Reading application default configuration from /etc/masterha/app1.cnf..
Sun Jul  1 12:25:54 2018 - [info] Reading server configuration from /etc/masterha/app1.cnf..
Sun Jul  1 12:25:54 2018 - [info] Starting SSH connection tests..
Sun Jul  1 12:26:01 2018 - [debug] 
Sun Jul  1 12:25:54 2018 - [debug]  Connecting via SSH from root@192.168.2.128(192.168.2.128:22) to root@192.168.2.129(192.168.2.129:22)..
Sun Jul  1 12:25:56 2018 - [debug]   ok.
Sun Jul  1 12:25:56 2018 - [debug]  Connecting via SSH from root@192.168.2.128(192.168.2.128:22) to root@192.168.2.130(192.168.2.130:22)..
Sun Jul  1 12:26:01 2018 - [debug]   ok.
Sun Jul  1 12:26:01 2018 - [debug] 
Sun Jul  1 12:25:55 2018 - [debug]  Connecting via SSH from root@192.168.2.129(192.168.2.129:22) to root@192.168.2.128(192.168.2.128:22)..
Sun Jul  1 12:25:56 2018 - [debug]   ok.
Sun Jul  1 12:25:56 2018 - [debug]  Connecting via SSH from root@192.168.2.129(192.168.2.129:22) to root@192.168.2.130(192.168.2.130:22)..
Sun Jul  1 12:26:01 2018 - [debug]   ok.
Sun Jul  1 12:26:03 2018 - [debug] 
Sun Jul  1 12:25:56 2018 - [debug]  Connecting via SSH from root@192.168.2.130(192.168.2.130:22) to root@192.168.2.128(192.168.2.128:22)..
Warning: Permanently added '192.168.2.130' (RSA) to the list of known hosts.
Sun Jul  1 12:26:01 2018 - [debug]   ok.
Sun Jul  1 12:26:01 2018 - [debug]  Connecting via SSH from root@192.168.2.130(192.168.2.130:22) to root@192.168.2.129(192.168.2.129:22)..
Sun Jul  1 12:26:03 2018 - [debug]   ok.
Sun Jul  1 12:26:03 2018 - [info] All SSH connection tests passed successfully.
[root@server04 ~]#

ssh免密码配置是成功的

二、测试MHA数据库同步

[root@server04 ~]# masterha_check_repl --conf=/etc/masterha/app1.cnf

Sun Jul  1 12:29:31 2018 - [warning] Global configuration file /etc/masterha_default.cnf not found. Skipping.
Sun Jul  1 12:29:31 2018 - [info] Reading application default configuration from /etc/masterha/app1.cnf..
Sun Jul  1 12:29:31 2018 - [info] Reading server configuration from /etc/masterha/app1.cnf..
Sun Jul  1 12:29:31 2018 - [info] MHA::MasterMonitor version 0.56.
Sun Jul  1 12:29:31 2018 - [info] GTID failover mode = 0
Sun Jul  1 12:29:31 2018 - [info] Dead Servers:
Sun Jul  1 12:29:31 2018 - [info] Alive Servers:
Sun Jul  1 12:29:31 2018 - [info]   192.168.2.128(192.168.2.128:3306)
Sun Jul  1 12:29:31 2018 - [info]   192.168.2.129(192.168.2.129:3306)
Sun Jul  1 12:29:31 2018 - [info]   192.168.2.130(192.168.2.130:3306)
Sun Jul  1 12:29:31 2018 - [info] Alive Slaves:
Sun Jul  1 12:29:31 2018 - [info]   192.168.2.129(192.168.2.129:3306)  Version=5.7.21-log (oldest major version between slaves) log-bin:enabled
Sun Jul  1 12:29:31 2018 - [info]     Replicating from 192.168.2.128(192.168.2.128:3306)
Sun Jul  1 12:29:31 2018 - [info]     Primary candidate for the new Master (candidate_master is set)
Sun Jul  1 12:29:31 2018 - [info]   192.168.2.130(192.168.2.130:3306)  Version=5.7.21-log (oldest major version between slaves) log-bin:enabled
Sun Jul  1 12:29:31 2018 - [info]     Replicating from 192.168.2.128(192.168.2.128:3306)
Sun Jul  1 12:29:31 2018 - [info] Current Alive Master: 192.168.2.128(192.168.2.128:3306)
Sun Jul  1 12:29:31 2018 - [info] Checking slave configurations..
Sun Jul  1 12:29:31 2018 - [info]  read_only=1 is not set on slave 192.168.2.129(192.168.2.129:3306).
Sun Jul  1 12:29:31 2018 - [info] Checking replication filtering settings..
Sun Jul  1 12:29:31 2018 - [info]  binlog_do_db= , binlog_ignore_db= 
Sun Jul  1 12:29:31 2018 - [info]  Replication filtering check ok.
Sun Jul  1 12:29:31 2018 - [info] GTID (with auto-pos) is not supported
Sun Jul  1 12:29:31 2018 - [info] Starting SSH connection tests..
Sun Jul  1 12:29:33 2018 - [info] All SSH connection tests passed successfully.
Sun Jul  1 12:29:33 2018 - [info] Checking MHA Node version..
Sun Jul  1 12:29:33 2018 - [info]  Version check ok.
Sun Jul  1 12:29:33 2018 - [info] Checking SSH publickey authentication settings on the current master..
Sun Jul  1 12:29:33 2018 - [info] HealthCheck: SSH to 192.168.2.128 is reachable.
Sun Jul  1 12:29:34 2018 - [info] Master MHA Node version is 0.56.
Sun Jul  1 12:29:34 2018 - [info] Checking recovery script configurations on 192.168.2.128(192.168.2.128:3306)..
Sun Jul  1 12:29:34 2018 - [info]   Executing command: save_binary_logs --command=test --start_pos=4 --binlog_dir=/data/mysql/logs/bin-log --output_file=/tmp/save_binary_logs_test --

manager_version=0.56 --start_file=mysql-bin.000004 
Sun Jul  1 12:29:34 2018 - [info]   Connecting to root@192.168.2.128(192.168.2.128:22).. 
  Creating /tmp if not exists..    ok.
  Checking output directory is accessible or not..
   ok.
  Binlog found at /data/mysql/logs/bin-log, up to mysql-bin.000004
Sun Jul  1 12:29:34 2018 - [info] Binlog setting check done.
Sun Jul  1 12:29:34 2018 - [info] Checking SSH publickey authentication and checking recovery script configurations on all alive slave servers..
Sun Jul  1 12:29:34 2018 - [info]   Executing command : apply_diff_relay_logs --command=test --slave_user='monitor' --slave_host=192.168.2.129 --slave_ip=192.168.2.129 --slave_port=3306 --

workdir=/tmp --target_version=5.7.21-log --manager_version=0.56 --relay_log_info=/data/mysql/relay-log.info  --relay_dir=/data/mysql/data/  --slave_pass=xxx
Sun Jul  1 12:29:34 2018 - [info]   Connecting to root@192.168.2.129(192.168.2.129:22).. 
  Checking slave recovery environment settings..
    Opening /data/mysql/relay-log.info ... ok.
    Relay log found at /data/mysql/logs/relay-log, up to relay-bin.000003
    Temporary relay log file is /data/mysql/logs/relay-log/relay-bin.000003
    Testing mysql connection and privileges..mysql: [Warning] Using a password on the command line interface can be insecure.
 done.
    Testing mysqlbinlog output.. done.
    Cleaning up test file(s).. done.
Sun Jul  1 12:29:35 2018 - [info]   Executing command : apply_diff_relay_logs --command=test --slave_user='monitor' --slave_host=192.168.2.130 --slave_ip=192.168.2.130 --slave_port=3306 --

workdir=/tmp --target_version=5.7.21-log --manager_version=0.56 --relay_log_info=/data/mysql/relay-log.info  --relay_dir=/data/mysql/data/  --slave_pass=xxx
Sun Jul  1 12:29:35 2018 - [info]   Connecting to root@192.168.2.130(192.168.2.130:22).. 
  Checking slave recovery environment settings..
    Opening /data/mysql/relay-log.info ... ok.
    Relay log found at /data/mysql/logs/relay-log, up to relay-bin.000003
    Temporary relay log file is /data/mysql/logs/relay-log/relay-bin.000003
    Testing mysql connection and privileges..mysql: [Warning] Using a password on the command line interface can be insecure.
 done.
    Testing mysqlbinlog output.. done.
    Cleaning up test file(s).. done.
Sun Jul  1 12:29:35 2018 - [info] Slaves settings check done.
Sun Jul  1 12:29:35 2018 - [info] 
192.168.2.128(192.168.2.128:3306) (current master)
 +--192.168.2.129(192.168.2.129:3306)
 +--192.168.2.130(192.168.2.130:3306)

Sun Jul  1 12:29:35 2018 - [info] Checking replication health on 192.168.2.129..
Sun Jul  1 12:29:35 2018 - [info]  ok.
Sun Jul  1 12:29:35 2018 - [info] Checking replication health on 192.168.2.130..
Sun Jul  1 12:29:35 2018 - [info]  ok.
Sun Jul  1 12:29:35 2018 - [info] Checking master_ip_failover_script status:
Sun Jul  1 12:29:35 2018 - [info]   /usr/local/bin/master_ip_failover --command=status --ssh_user=root --orig_master_host=192.168.2.128 --orig_master_ip=192.168.2.128 --orig_master_port=3306 
Sun Jul  1 12:29:35 2018 - [error][/usr/share/perl5/vendor_perl/MHA/MasterMonitor.pm, ln424] Error happened on checking configurations. Can't exec "/usr/local/bin/master_ip_failover": Permission 

denied at /usr/share/perl5/vendor_perl/MHA/ManagerUtil.pm line 68.
Sun Jul  1 12:29:35 2018 - [error][/usr/share/perl5/vendor_perl/MHA/MasterMonitor.pm, ln523] Error happened on monitoring servers.
Sun Jul  1 12:29:35 2018 - [info] Got exit code 1 (Not master dead).

MySQL Replication Health is NOT OK!
Sun Jul  1 12:29:35 2018 - [error][/usr/share/perl5/vendor_perl/MHA/MasterMonitor.pm, ln226]  Failed to get master_ip_failover_script status with return code 1:0.
Sun Jul  1 12:29:35 2018 - [error][/usr/share/perl5/vendor_perl/MHA/MasterMonitor.pm, ln424] Error happened on checking configurations.  at /usr/local/bin/masterha_check_repl line 48
Sun Jul  1 12:29:35 2018 - [error][/usr/share/perl5/vendor_perl/MHA/MasterMonitor.pm, ln523] Error happened on monitoring servers.
Sun Jul  1 12:29:35 2018 - [info] Got exit code 1 (Not master dead).

MySQL Replication Health is NOT OK!

检查报错,提示jjiaoben没有权限
给脚本执行权限

[root@server04 ~]# chmod +x /usr/local/bin/masterha_check_repl
[root@server04 ~]# ll /usr/local/bin/master_ip_failover
-rw-r--r-- 1 root root 2173 Jun 30 17:29 /usr/local/bin/master_ip_failover
[root@server04 ~]# chmod +x /usr/local/bin/master_ip_failover

再次检测成功

[root@server04 bin]# masterha_check_repl --conf=/etc/masterha/app1.cnf
Sun Jul  1 15:08:21 2018 - [warning] Global configuration file /etc/masterha_default.cnf not found. Skipping.
Sun Jul  1 15:08:21 2018 - [info] Reading application default configuration from /etc/masterha/app1.cnf..
Sun Jul  1 15:08:21 2018 - [info] Reading server configuration from /etc/masterha/app1.cnf..
Sun Jul  1 15:08:21 2018 - [info] MHA::MasterMonitor version 0.56.
Sun Jul  1 15:08:21 2018 - [info] GTID failover mode = 0
Sun Jul  1 15:08:21 2018 - [info] Dead Servers:
Sun Jul  1 15:08:21 2018 - [info] Alive Servers:
Sun Jul  1 15:08:21 2018 - [info]   192.168.2.128(192.168.2.128:3306)
Sun Jul  1 15:08:21 2018 - [info]   192.168.2.129(192.168.2.129:3306)
Sun Jul  1 15:08:21 2018 - [info]   192.168.2.130(192.168.2.130:3306)
Sun Jul  1 15:08:21 2018 - [info] Alive Slaves:
Sun Jul  1 15:08:21 2018 - [info]   192.168.2.129(192.168.2.129:3306)  Version=5.7.21-log (oldest major version between slaves) log-bin:enabled
Sun Jul  1 15:08:21 2018 - [info]     Replicating from 192.168.2.128(192.168.2.128:3306)
Sun Jul  1 15:08:21 2018 - [info]     Primary candidate for the new Master (candidate_master is set)
Sun Jul  1 15:08:21 2018 - [info]   192.168.2.130(192.168.2.130:3306)  Version=5.7.21-log (oldest major version between slaves) log-bin:enabled
Sun Jul  1 15:08:21 2018 - [info]     Replicating from 192.168.2.128(192.168.2.128:3306)
Sun Jul  1 15:08:21 2018 - [info] Current Alive Master: 192.168.2.128(192.168.2.128:3306)
Sun Jul  1 15:08:21 2018 - [info] Checking slave configurations..
Sun Jul  1 15:08:21 2018 - [info]  read_only=1 is not set on slave 192.168.2.129(192.168.2.129:3306).
Sun Jul  1 15:08:21 2018 - [info] Checking replication filtering settings..
Sun Jul  1 15:08:21 2018 - [info]  binlog_do_db= , binlog_ignore_db= 
Sun Jul  1 15:08:21 2018 - [info]  Replication filtering check ok.
Sun Jul  1 15:08:21 2018 - [info] GTID (with auto-pos) is not supported
Sun Jul  1 15:08:21 2018 - [info] Starting SSH connection tests..
Sun Jul  1 15:08:23 2018 - [info] All SSH connection tests passed successfully.
Sun Jul  1 15:08:23 2018 - [info] Checking MHA Node version..
Sun Jul  1 15:08:23 2018 - [info]  Version check ok.
Sun Jul  1 15:08:23 2018 - [info] Checking SSH publickey authentication settings on the current master..
Sun Jul  1 15:08:23 2018 - [info] HealthCheck: SSH to 192.168.2.128 is reachable.
Sun Jul  1 15:08:23 2018 - [info] Master MHA Node version is 0.56.
Sun Jul  1 15:08:23 2018 - [info] Checking recovery script configurations on 192.168.2.128(192.168.2.128:3306)..
Sun Jul  1 15:08:23 2018 - [info]   Executing command: save_binary_logs --command=test --start_pos=4 --binlog_dir=/data/mysql/logs/bin-log --output_file=/tmp/save_binary_logs_test --

manager_version=0.56 --start_file=mysql-bin.000004 
Sun Jul  1 15:08:23 2018 - [info]   Connecting to root@192.168.2.128(192.168.2.128:22).. 
  Creating /tmp if not exists..    ok.
  Checking output directory is accessible or not..
   ok.
  Binlog found at /data/mysql/logs/bin-log, up to mysql-bin.000004
Sun Jul  1 15:08:24 2018 - [info] Binlog setting check done.
Sun Jul  1 15:08:24 2018 - [info] Checking SSH publickey authentication and checking recovery script configurations on all alive slave servers..
Sun Jul  1 15:08:24 2018 - [info]   Executing command : apply_diff_relay_logs --command=test --slave_user='monitor' --slave_host=192.168.2.129 --slave_ip=192.168.2.129 --slave_port=3306 --

workdir=/tmp --target_version=5.7.21-log --manager_version=0.56 --relay_log_info=/data/mysql/relay-log.info  --relay_dir=/data/mysql/data/  --slave_pass=xxx
Sun Jul  1 15:08:24 2018 - [info]   Connecting to root@192.168.2.129(192.168.2.129:22).. 
  Checking slave recovery environment settings..
    Opening /data/mysql/relay-log.info ... ok.
    Relay log found at /data/mysql/logs/relay-log, up to relay-bin.000003
    Temporary relay log file is /data/mysql/logs/relay-log/relay-bin.000003
    Testing mysql connection and privileges..mysql: [Warning] Using a password on the command line interface can be insecure.
 done.
    Testing mysqlbinlog output.. done.
    Cleaning up test file(s).. done.
Sun Jul  1 15:08:24 2018 - [info]   Executing command : apply_diff_relay_logs --command=test --slave_user='monitor' --slave_host=192.168.2.130 --slave_ip=192.168.2.130 --slave_port=3306 --

workdir=/tmp --target_version=5.7.21-log --manager_version=0.56 --relay_log_info=/data/mysql/relay-log.info  --relay_dir=/data/mysql/data/  --slave_pass=xxx
Sun Jul  1 15:08:24 2018 - [info]   Connecting to root@192.168.2.130(192.168.2.130:22).. 
  Checking slave recovery environment settings..
    Opening /data/mysql/relay-log.info ... ok.
    Relay log found at /data/mysql/logs/relay-log, up to relay-bin.000003
    Temporary relay log file is /data/mysql/logs/relay-log/relay-bin.000003
    Testing mysql connection and privileges..mysql: [Warning] Using a password on the command line interface can be insecure.
 done.
    Testing mysqlbinlog output.. done.
    Cleaning up test file(s).. done.
Sun Jul  1 15:08:24 2018 - [info] Slaves settings check done.
Sun Jul  1 15:08:24 2018 - [info] 
192.168.2.128(192.168.2.128:3306) (current master)
 +--192.168.2.129(192.168.2.129:3306)
 +--192.168.2.130(192.168.2.130:3306)

Sun Jul  1 15:08:24 2018 - [info] Checking replication health on 192.168.2.129..
Sun Jul  1 15:08:24 2018 - [info]  ok.
Sun Jul  1 15:08:24 2018 - [info] Checking replication health on 192.168.2.130..
Sun Jul  1 15:08:24 2018 - [info]  ok.
Sun Jul  1 15:08:24 2018 - [info] Checking master_ip_failover_script status:
Sun Jul  1 15:08:24 2018 - [info]   /usr/local/bin/master_ip_failover --command=status --ssh_user=root --orig_master_host=192.168.2.128 --orig_master_ip=192.168.2.128 --orig_master_port=3306 
Sun Jul  1 15:08:24 2018 - [info]  OK.
Sun Jul  1 15:08:24 2018 - [warning] shutdown_script is not defined.
Sun Jul  1 15:08:24 2018 - [info] Got exit code 0 (Not master dead).

MySQL Replication Health is OK.
[root@server04 bin]#

三、定时清理relay_log日志

可以把脚本写入2台slave从库机器的定时任务里面

192.168.2.129 [root ~]$ cat purge_relay_log.sh 
#!/bin/bash
user=root
passwd=123456
port=3306
log_dir='/data/masterha/log'
work_dir='/data'
purge='/usr/local/bin/purge_relay_logs'

if [ ! -d $log_dir ]
then
   mkdir $log_dir -p
fi

$purge --user=$user --password=$passwd --disable_relay_log_purge --port=$port --workdir=$work_dir >> $log_dir/purge_relay_logs.log 2>&1

192.168.2.129 [root ~]$ crontab -l
4 * * * /bin/bash /root/purge_relay_log.sh

四、启动MHA监控服务

4.1检查MHA Manager的状态

通过master_check_status脚本查看Manager的状态:
[root@server04 bin]# masterha_check_status --conf=/etc/masterha/app1.cnf
app1 is stopped(2:NOT_RUNNING).
[root@server04 bin]#
注意:如果正常,会显示"PING_OK",否则会显示"NOT_RUNNING",这代表MHA监控没有开启。

4.2开启MHA Manager监控(server04 192.168.2.130操作)如下:

[root@server04 bin]# mkdir -p  /var/log/masterha/app1/
[root@server04 bin]# nohup masterha_manager --conf=/etc/masterha/app1.cnf --remove_dead_master_conf --ignore_last_failover < /dev/null > /var/log/masterha/app1/manager.log 2>&1 &
[1] 42048
[root@server04 bin]# 

[root@server03 bin]# ps -ef|grep perl
root      42048  41142  0 12:50 pts/4    00:00:00 perl /usr/local/bin/masterha_manager --conf=/etc/masterha/app1.cnf --remove_dead_master_conf --ignore_last_failover

参数介绍:

--remove_dead_master_conf      //该参数代表当发生主从切换后,老的主库的ip将会从配置文件中移除。

--manger_log                   //日志存放位置

--ignore_last_failover         //在缺省情况下,如果MHA检测到连续发生宕机,且两次宕机间隔不足8小时的话,则不会进行Failover,之所以这样限制是为了避免ping-pong效应。该参数代表忽略上次MHA触发切换产生的

文件,默认情况下,MHA发生切换后会在日志目录,也就是上面我设置的/data产生app1.failover.complete文件,下次再次切换的时候如果发现该目录下存在该文件将不允许触发切换,除非在第一次切换后收到删除该文件,

为了方便,这里设置为--ignore_last_failover。

查看MHA Manager监控是否正常:

[root@server03 bin]# masterha_check_status --conf=/etc/masterha/app1.cnf
app1 (pid:42048) is running(0:PING_OK), master:192.168.2.128
[root@server03 bin]#

4.3查看监控管理日志:

[root@server03 bin]# cat /var/log/masterha/app1/manager.log
Sun Jul  1 12:51:00 2018 - [warning] Global configuration file /etc/masterha_default.cnf not found. Skipping.
Sun Jul  1 12:51:00 2018 - [info] Reading application default configuration from /etc/masterha/app1.cnf..
Sun Jul  1 12:51:00 2018 - [info] Reading server configuration from /etc/masterha/app1.cnf..
Sun Jul  1 12:51:00 2018 - [info] MHA::MasterMonitor version 0.56.
Sun Jul  1 12:51:00 2018 - [info] GTID failover mode = 0
Sun Jul  1 12:51:00 2018 - [info] Dead Servers:
Sun Jul  1 12:51:00 2018 - [info] Alive Servers:
Sun Jul  1 12:51:00 2018 - [info]   192.168.2.128(192.168.2.128:3306)
Sun Jul  1 12:51:00 2018 - [info]   192.168.2.129(192.168.2.129:3306)
Sun Jul  1 12:51:00 2018 - [info]   192.168.2.130(192.168.2.130:3306)
Sun Jul  1 12:51:00 2018 - [info] Alive Slaves:
Sun Jul  1 12:51:00 2018 - [info]   192.168.2.129(192.168.2.129:3306)  Version=5.7.21-log (oldest major version between slaves) log-bin:enabled
Sun Jul  1 12:51:00 2018 - [info]     Replicating from 192.168.2.128(192.168.2.128:3306)
Sun Jul  1 12:51:00 2018 - [info]     Primary candidate for the new Master (candidate_master is set)
Sun Jul  1 12:51:00 2018 - [info]   192.168.2.130(192.168.2.130:3306)  Version=5.7.21-log (oldest major version between slaves) log-bin:enabled
Sun Jul  1 12:51:00 2018 - [info]     Replicating from 192.168.2.128(192.168.2.128:3306)
Sun Jul  1 12:51:00 2018 - [info] Current Alive Master: 192.168.2.128(192.168.2.128:3306)
Sun Jul  1 12:51:00 2018 - [info] Checking slave configurations..
Sun Jul  1 12:51:00 2018 - [info]  read_only=1 is not set on slave 192.168.2.129(192.168.2.129:3306).
Sun Jul  1 12:51:00 2018 - [info] Checking replication filtering settings..
Sun Jul  1 12:51:00 2018 - [info]  binlog_do_db= , binlog_ignore_db= 
Sun Jul  1 12:51:00 2018 - [info]  Replication filtering check ok.
Sun Jul  1 12:51:00 2018 - [info] GTID (with auto-pos) is not supported
Sun Jul  1 12:51:00 2018 - [info] Starting SSH connection tests..
Sun Jul  1 12:51:02 2018 - [info] All SSH connection tests passed successfully.
Sun Jul  1 12:51:02 2018 - [info] Checking MHA Node version..
Sun Jul  1 12:51:02 2018 - [info]  Version check ok.
Sun Jul  1 12:51:02 2018 - [info] Checking SSH publickey authentication settings on the current master..
Sun Jul  1 12:51:03 2018 - [info] HealthCheck: SSH to 192.168.2.128 is reachable.
Sun Jul  1 12:51:03 2018 - [info] Master MHA Node version is 0.56.
Sun Jul  1 12:51:03 2018 - [info] Checking recovery script configurations on 192.168.2.128(192.168.2.128:3306)..
Sun Jul  1 12:51:03 2018 - [info]   Executing command: save_binary_logs --command=test --start_pos=4 --binlog_dir=/data/mysql/logs/bin-log --output_file=/tmp/save_binary_logs_test --

manager_version=0.56 --start_file=mysql-bin.000004 
Sun Jul  1 12:51:03 2018 - [info]   Connecting to root@192.168.2.128(192.168.2.128:22).. 
  Creating /tmp if not exists..    ok.
  Checking output directory is accessible or not..
   ok.
  Binlog found at /data/mysql/logs/bin-log, up to mysql-bin.000004
Sun Jul  1 12:51:03 2018 - [info] Binlog setting check done.
Sun Jul  1 12:51:03 2018 - [info] Checking SSH publickey authentication and checking recovery script configurations on all alive slave servers..
Sun Jul  1 12:51:03 2018 - [info]   Executing command : apply_diff_relay_logs --command=test --slave_user='monitor' --slave_host=192.168.2.129 --slave_ip=192.168.2.129 --slave_port=3306 --

workdir=/tmp --target_version=5.7.21-log --manager_version=0.56 --relay_log_info=/data/mysql/relay-log.info  --relay_dir=/data/mysql/data/  --slave_pass=xxx
Sun Jul  1 12:51:03 2018 - [info]   Connecting to root@192.168.2.129(192.168.2.129:22).. 
  Checking slave recovery environment settings..
    Opening /data/mysql/relay-log.info ... ok.
    Relay log found at /data/mysql/logs/relay-log, up to relay-bin.000003
    Temporary relay log file is /data/mysql/logs/relay-log/relay-bin.000003
    Testing mysql connection and privileges..mysql: [Warning] Using a password on the command line interface can be insecure.
 done.
    Testing mysqlbinlog output.. done.
    Cleaning up test file(s).. done.
Sun Jul  1 12:51:03 2018 - [info]   Executing command : apply_diff_relay_logs --command=test --slave_user='monitor' --slave_host=192.168.2.130 --slave_ip=192.168.2.130 --slave_port=3306 --

workdir=/tmp --target_version=5.7.21-log --manager_version=0.56 --relay_log_info=/data/mysql/relay-log.info  --relay_dir=/data/mysql/data/  --slave_pass=xxx
Sun Jul  1 12:51:03 2018 - [info]   Connecting to root@192.168.2.130(192.168.2.130:22).. 
  Checking slave recovery environment settings..
    Opening /data/mysql/relay-log.info ... ok.
    Relay log found at /data/mysql/logs/relay-log, up to relay-bin.000003
    Temporary relay log file is /data/mysql/logs/relay-log/relay-bin.000003
    Testing mysql connection and privileges..mysql: [Warning] Using a password on the command line interface can be insecure.
 done.
    Testing mysqlbinlog output.. done.
    Cleaning up test file(s).. done.
Sun Jul  1 12:51:04 2018 - [info] Slaves settings check done.
Sun Jul  1 12:51:04 2018 - [info] 
192.168.2.128(192.168.2.128:3306) (current master)
 +--192.168.2.129(192.168.2.129:3306)
 +--192.168.2.130(192.168.2.130:3306)

Sun Jul  1 12:51:04 2018 - [info] Checking master_ip_failover_script status:
Sun Jul  1 12:51:04 2018 - [info]   /usr/local/bin/master_ip_failover --command=status --ssh_user=root --orig_master_host=192.168.2.128 --orig_master_ip=192.168.2.128 --orig_master_port=3306 
Sun Jul  1 12:51:04 2018 - [info]  OK.
Sun Jul  1 12:51:04 2018 - [warning] shutdown_script is not defined.
Sun Jul  1 12:51:04 2018 - [info] Set master ping interval 1 seconds.
Sun Jul  1 12:51:04 2018 - [info] Set secondary check script: /usr/local/bin/masterha_secondary_check -s server03 -s server02 --user=root --master_host=server02 --master_ip=192.168.2.128 --

master_port=3306
Sun Jul  1 12:51:04 2018 - [info] Starting ping health check on 192.168.2.128(192.168.2.128:3306)..
Sun Jul  1 12:51:04 2018 - [info] Ping(SELECT) succeeded, waiting until MySQL doesn't respond..

五、关闭MHA Manage监控

(server04 192.168.2.130操作)如下:

关闭很简单,使用masterha_stop命令完成。(只是演示关闭,在测试中,必须是开启的状态,如果关了,在测试的时候务必记得开启)

[root@server03 bin]# masterha_stop --conf=/etc/masterha/app1.cnf
Stopped app1 successfully.
[root@server03 bin]# ps -ef|grep perl
root      46691  40702  0 14:00 pts/3    00:00:00 grep perl
[root@server03 bin]#

请继续关注后续博文,后续博文会提到通过keepalived的方式管理虚拟ip的浮动,来实现mysql主库故障自动提升salve从库为新的主库

相关文章
相关标签/搜索