mysql高可用之mha(二)

2015-11-21 01:50:33 · 作者: · 浏览: 44
块,我们使用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设置