块,我们使用epel源来安装相关perl模块。
2.安装mha manager
[root@rd-mysql-test4 src]# yum install perl-DBD-MySQL perl-Config-Tiny perl-Log-Dispatch perl-Parallel-ForkManager perl-Time-HiRes -y
[root@rd-mysql-test4 src]# cd mha4mysql-manager-0.53
[root@rd-mysql-test4 mha4mysql-manager-0.53]# perl Makefile.PL
[root@rd-mysql-test4 mha4mysql-manager-0.53]# make && make install
注意:1.mha manager节点也需要安装mha node
2.mha manager的版本可以后manager node的版本不一样,建议使用新版本。
安装完成后会在/usr/local/bin目录下生成以下脚本:
apply_diff_relay_logs
filter_mysqlbinlog
masterha_check_repl 检查MySQL复制状况
masterha_check_ssh 检查MHA的SSH配置状况
masterha_check_status 检测当前MHA运行状态
masterha_conf_host 添加或删除配置的server信息
masterha_manager 启动MHA
masterha_stop 停止MHA
masterha_master_monitor 检测master是否宕机
masterha_master_switch 控制故障转移(自动或者手动)
masterha_secondary_check 多种线路检测master是否存活
另外在/usr/local/src/mha4mysql-manager-0.53/samples/scripts下还有以下脚本,我们将其复制到/usr/local/bin
[root@rd-mysql-test4 mha4mysql-manager-0.53]#cd samples/scripts/
[root@rd-mysql-test4 scripts]# ll
total 32
-rwxr-xr-x 1 root root 3443 Jan 8 2012 master_ip_failover 自动切换时VIP管理脚本
-rwxr-xr-x 1 root root 9186 Jan 8 2012 master_ip_online_change 在线切换时VIP脚本
-rwxr-xr-x 1 root root 11867 Jan 8 2012 power_manager 故障发生后关闭master脚本
-rwxr-xr-x 1 root root 1360 Jan 8 2012 send_report 故障切换发送报警脚本
[root@rd-mysql-test4 mha4mysql-manager-0.53]#cp * /usr/local/bin
3.在所有节点上做ssh免密码登录
#rd-mysql-test1
[root@rd-mysql-test1 mha4mysql-node-0.53]#ssh-keygen -t rsa
[root@rd-mysql-test1 mha4mysql-node-0.53]#ssh-copy-id -i /root/.ssh/id_rsa.pub root@10.10.10.57
[root@rd-mysql-test1 mha4mysql-node-0.53]#ssh-copy-id -i /root/.ssh/id_rsa.pub root@10.10.10.58
[root@rd-mysql-test1 mha4mysql-node-0.53]#ssh-copy-id -i /root/.ssh/id_rsa.pub root@10.10.10.59
#rd-mysql-test2
[root@rd-mysql-test2 mha4mysql-node-0.53]#ssh-keygen -t rsa
[root@rd-mysql-test2 mha4mysql-node-0.53]#ssh-copy-id -i /root/.ssh/id_rsa.pub root@10.10.10.56
[root@rd-mysql-test2 mha4mysql-node-0.53]#ssh-copy-id -i /root/.ssh/id_rsa.pub root@10.10.10.58
[root@rd-mysql-test2 mha4mysql-node-0.53]#ssh-copy-id -i /root/.ssh/id_rsa.pub root@10.10.10.59
#rd-mysql-test3
[root@rd-mysql-test3 mha4mysql-node-0.53]#ssh-keygen -t rsa
[root@rd-mysql-test3 mha4mysql-node-0.53]#ssh-copy-id -i /root/.ssh/id_rsa.pub root@10.10.10.56
[root@rd-mysql-test3 mha4mysql-node-0.53]#ssh-copy-id -i /root/.ssh/id_rsa.pub root@10.10.10.57
[root@rd-mysql-test3 mha4mysql-node-0.53]#ssh-copy-id -i /root/.ssh/id_rsa.pub root@10.10.10.59
#rd-mysql-test4
[root@rd-mysql-test4 mha4mysql-manager-0.53]#ssh-keygen -t rsa
[root@rd-mysql-test4 mha4mysql-manager-0.53]#ssh-copy-id -i /root/.ssh/id_rsa.pub root@10.10.10.56
[root@rd-mysql-test4 mha4mysql-manager-0.53]#ssh-copy-id -i /root/.ssh/id_rsa.pub root@10.10.10.57
[root@rd-mysql-test4 mha4mysql-manager-0.53]#ssh-copy-id -i /root/.ssh/id_rsa.pub root@10.10.10.58
4.搭建mysql主从复制
(1)在master和slave上创建复制用户并授权
mysql> grant replication slave on *.* to 'rep'@'10.10.10.%' identified by '123456';
Query OK, 0 rows affected (0.01 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
(2)两台slave设置