大连云鹏 2012-06-07
MHA分管理节点和数据库节点,数据库节点由mysql主从或者主主从构成,当主库挂掉后,管理节点会自动将从节点提升为主节点;管理节点的角色类似于Oracle数据库中的fast start failover中的observer,但mha上层可以通过keepalive部署VIP,程序连接数据库使用VIP,从而实现后台数据库的故障切换透明化
MHA节点包含三个脚本,依赖perl模块;
save_binary_logs:保存和复制当掉的主服务器二进制日志;
apply_diff_relay_logs:识别差异的relay log事件,并应用于其他salve服务器;
purge_relay_logs:清除relay log文件;
需要在所有mysql服务器上安装MHA节点,MHA管理服务器也需要安装。MHA管理节点模块内部依赖MHA节点模块;
MHA管理节点通过ssh连接管理mysql服务器和执行MHA节点脚本。MHA节点依赖perl的DBD::mysql模块;
本文环境介绍,操作系统均为rhel5.4
主库:192.168.123.13/dg53.yang.com
备库:192.168.123.14/dg54.yang.com
管理节点:192.168.123.15/dg55.yang.com
在开始之前,请先配置好服务器间的时间同步和名称解析
一:在数据库节点安装mha node
[root@dg53 ~]# rpm -ivh http://dl.Fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm Retrieving http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm warning: /var/tmp/rpm-xfer.yqwfYT: Header V3 DSA signature: NOKEY, key ID 217521f6 Preparing... ########################################### [100%] 1:epel-release ########################################### [100%] [root@dg53 ~]# ls /etc/yum.repos.d/ base.repo epel.repo epel-testing.repo rhel-debuginfo.repo [root@dg53 ~]# yum -y install perl-DBD-MySQL ncftp [root@dg53 ~]# wget http://mysql-master-ha.googlecode.com/files/mha4mysql-node-0.52.tar.gz -P /usr/local/src/tarbag/ [root@dg53 ~]# cd /usr/local/src/tarbag/ [root@dg53 tarbag]# tar -zxvpf mha4mysql-node-0.52.tar.gz -C ../software/ [root@dg53 tarbag]# cd ../software/mha4mysql-node-0.52/ [root@dg53 mha4mysql-node-0.52]# perl Makefile.PL [root@dg53 mha4mysql-node-0.52]# make && make install