MHA实现mysql5.6主从切换安装配置教程

作者:袖梨 2022-11-14

基于这里的master/slave复制,我们这里介绍下MHA软件的安装与测试

一、安装MHA软件:

yum -y install perl-DBD-MySQL perl-Config-Tiny perl-Log-Dispatch perl-Parallel-ForkManager

wget http://mysql-master-ha.googlecode.com/files/mha4mysql-node-0.52-0.noarch.rpm
wget https://mysql-master-ha.googlecode.com/files/mha4mysql-manager-0.52-0.noarch.rpm
wget https://mysql-master-ha.googlecode.com/files/mha4mysql-manager-0.52.tar.gz
rpm包安装:


rpm -ivh mha4mysql-manager-0.52-0.noarch.rpm
rpm -ivh mha4mysql-node-0.52-0.noarch.rpm

源码包安装(我这里采用源码包安装,manager安装在slave上)

tar zxvf mha4mysql-manager-0.52.tar.gz
cd mha4mysql-manager-0.52
perl Makefile.PL
make
make install
二、配置基本环境:

1、配置master和slave之间可以ssh无密码登陆(这里略)

2、保证mha manager能登陆主从服务器的mysql

10.1.1.231上执行:


grant all privileges on *.* to 'root'@'10.1.1.234' identified by 'rootpasswd';
flush privileges;
10.1.1.234上执行:

grant all privileges on *.* to 'root'@'10.1.1.231' identified by 'rootpasswd';
flush privileges;

三、修改mha的manager配置文件:

[root@localhost mha4mysql-manager-0.52]#mkdir /etc/masterha
[root@localhost mha4mysql-manager-0.52]#mkdir -p /masterha/app1
[root@localhost mha4mysql-manager-0.52]#cp samples/conf/* /etc/masterha/
[root@localhost mha4mysql-manager-0.52]#cat /etc/masterha/app1.cnf
[root@localhost mha4mysql-manager-0.52]#mkdir /etc/masterha
[root@localhost mha4mysql-manager-0.52]#mkdir -p /masterha/app1
[root@localhost mha4mysql-manager-0.52]#cp samples/conf/* /etc/masterha/
[root@localhost mha4mysql-manager-0.52]#cat /etc/masterha/app1.cnf

[server default]
manager_workdir=/masterha/app1/
manager_log=/masterha/app1/manager.log
user=root
password=d3n0v0
ssh_user=root
repl_user=jpsync
repl_password=jpsyncpass2014la
ping_interval=1
shutdown_script=""
#master_ip_failover_script="/usr/local/bin/master_ip_failover"
master_ip_online_change_script=""
report_script=""

[server1]
hostname=10.1.1.231
port=63306
master_binlog_dir="/state/partition1/mysql/data"
candidate_master=1

[server2]
hostname=10.1.1.234
port=63306
master_binlog_dir="/state/partition1/mysql/data"
candidate_master=1
四、检测配置:

检查ssh:

[root@localhost masterha]# masterha_check_ssh --conf=/etc/masterha/app1.cnf
Fri Sep 12 15:23:25 2014 - [info] Reading default configuratoins from /etc/masterha_default.cnf..
Fri Sep 12 15:23:25 2014 - [info] Reading application default configurations from /etc/masterha/app1.cnf..
Fri Sep 12 15:23:25 2014 - [info] Reading server configurations from /etc/masterha/app1.cnf..
Fri Sep 12 15:23:25 2014 - [info] Starting SSH connection tests..
Fri Sep 12 15:23:32 2014 - [debug]
Fri Sep 12 15:23:25 2014 - [debug] Connecting via SSH from [email protected](10.1.1.231) to [email protected](10.1.1.234)..
Warning: untrusted X11 forwarding setup failed: xauth key data not generated
Warning: No xauth data; using fake authentication data for X11 forwarding.
Fri Sep 12 15:23:32 2014 - [debug] ok.
Fri Sep 12 15:23:38 2014 - [debug]
Fri Sep 12 15:23:26 2014 - [debug] Connecting via SSH from [email protected](10.1.1.234) to [email protected](10.1.1.231)..
Warning: untrusted X11 forwarding setup failed: xauth key data not generated
Warning: No xauth data; using fake authentication data for X11 forwarding.
Warning: untrusted X11 forwarding setup failed: xauth key data not generated
Warning: No xauth data; using fake authentication data for X11 forwarding.
Fri Sep 12 15:23:38 2014 - [debug] ok.
Fri Sep 12 15:23:38 2014 - [info] All SSH connection tests passed successfully.

检查mha启动状态:


[root@localhost masterha]# masterha_check_status --conf=/etc/masterha/app1.cnf
app1 (pid:11444) is running(0:PING_OK), master:10.1.1.231
检查主从复制状态:

[root@compute-0-52 masterha]# masterha_check_repl --conf=/etc/masterha/app1.cnf
Fri Sep 12 16:15:12 2014 - [info] Reading default configuratoins from /etc/masterha_default.cnf..
Fri Sep 12 16:15:12 2014 - [info] Reading application default configurations from /etc/masterha/app1.cnf..
Fri Sep 12 16:15:12 2014 - [info] Reading server configurations from /etc/masterha/app1.cnf..
Fri Sep 12 16:15:12 2014 - [info] MHA::MasterMonitor version 0.52.
Fri Sep 12 16:15:12 2014 - [info] Dead Servers:
Fri Sep 12 16:15:12 2014 - [info] Alive Servers:
Fri Sep 12 16:15:12 2014 - [info] 10.1.1.231(10.1.1.231:3306)
Fri Sep 12 16:15:12 2014 - [info] 10.1.1.234(10.1.1.234:3306)
Fri Sep 12 16:15:12 2014 - [info] Alive Slaves:
Fri Sep 12 16:15:12 2014 - [info] 10.1.1.234(10.1.1.234:3306) Version=5.6.13-log (oldest major version between slaves) log-bin:enabled
Fri Sep 12 16:15:12 2014 - [info] Replicating from 10.1.1.231(10.1.1.231:3306)
Fri Sep 12 16:15:12 2014 - [info] Primary candidate for the new Master (candidate_master is set)
Fri Sep 12 16:15:12 2014 - [info] Current Alive Master: 10.1.1.231(10.1.1.231:3306)
Fri Sep 12 16:15:12 2014 - [info] Checking slave configurations..
Fri Sep 12 16:15:12 2014 -

relay_log_purge=0 is not set on slave 10.1.1.234(10.1.1.234:3306).
Fri Sep 12 16:15:12 2014 - [info] Checking replication filtering settings..
Fri Sep 12 16:15:12 2014 - [info] binlog_do_db= denovo_ng, binlog_ignore_db= information_schema,mysql,test
Fri Sep 12 16:15:12 2014 - [info] Replication filtering check ok.
Fri Sep 12 16:15:12 2014 - [info] Starting SSH connection tests..
Fri Sep 12 16:15:25 2014 - [info] All SSH connection tests passed successfully.
Fri Sep 12 16:15:25 2014 - [info] Checking MHA Node version..
Fri Sep 12 16:15:32 2014 - [info] Version check ok.
Fri Sep 12 16:15:32 2014 - [info] Checking SSH publickey authentication and checking recovery script configurations on the current master..
Fri Sep 12 16:15:38 2014 - [info] Executing command: save_binary_logs --command=test --start_file=mysql-master-bin.000004 --start_pos=4 --binlog_dir=/state/partition1/mysql/data --output_file=/var/tmp/save_binary_logs_test --manager_version=0.52
Fri Sep 12 16:15:38 2014 - [info] Connecting to [email protected](10.1.1.231)..
Warning: untrusted X11 forwarding setup failed: xauth key data not generated
Warning: No xauth data; using fake authentication data for X11 forwarding.
Creating /var/tmp if not exists.. ok.
Checking output directory is accessible or not..
ok.
Binlog found at /state/partition1/mysql/data, up to mysql-master-bin.000004
Fri Sep 12 16:15:45 2014 - [info] Master setting check done.
Fri Sep 12 16:15:45 2014 - [info] Checking SSH publickey authentication and checking recovery script configurations on all alive slave servers..
Fri Sep 12 16:15:45 2014 - [info] Executing command : apply_diff_relay_logs --command=test --slave_user=root --slave_host=10.1.1.234 --slave_ip=10.1.1.234 --slave_port=63306 --workdir=/var/tmp --target_version=5.6.13-log --manager_version=0.52 --relay_log_info=/state/partition1/mysql/data/relay-log.info --slave_pass=xxx
Fri Sep 12 16:15:45 2014 - [info] Connecting to [email protected](10.1.1.234)..
Warning: untrusted X11 forwarding setup failed: xauth key data not generated
Warning: No xauth data; using fake authentication data for X11 forwarding.
Checking slave recovery environment settings..
Opening /state/partition1/mysql/data/relay-log.info ... ok.
Relay log found at /state/partition1/mysql/data, up to compute-0-52-relay-bin.000007
Temporary relay log file is /state/partition1/mysql/data/compute-0-52-relay-bin.000007
Testing mysql connection and privileges..Warning: Using a password on the command line interface can be insecure.
mysql: Unknown OS character set 'ISO-8859-15'.
mysql: Switching to the default character set 'latin1'.
done.
Testing mysqlbinlog output.. done.
Cleaning up test file(s).. done.
Fri Sep 12 16:15:51 2014 - [info] Slaves settings check done.
Fri Sep 12 16:15:51 2014 - [info]
10.1.1.231 (current master)
+--10.1.1.234

Fri Sep 12 16:15:51 2014 - [info] Checking replication health on 10.1.1.234..
Fri Sep 12 16:15:51 2014 - [info] ok.
Fri Sep 12 16:15:51 2014 -
master_ip_failover_script is not defined.
Fri Sep 12 16:15:51 2014 -
shutdown_script is not defined.
Fri Sep 12 16:15:51 2014 - [info] Got exit code 0 (Not master dead).

MySQL Replication Health is OK

相关文章

精彩推荐