Mysql MHA使用说明
一、 MHA 简介
MHA,即Master High Availability Manager and Tools for MySQL,是日本的一位MySQL专家采用Perl语言编写的一个脚本管理工具,该工具仅适用于MySQL Replication(二层)环境,目的在于维持Master主库的高可用性。
MHA(Master High Availability)是自动的master故障转移和Slave提升的软件包.它是基于标准的MySQL复制(异步/半同步).
MHA有两部分组成:MHA Manager(管理节点)和MHA Node(数据节点).
MHA Manager可以单独部署在一台独立机器上管理多个master-slave集群,也可以部署在一台slave上.MHA Manager探测集群的node节点,当发现master出现故障的时候,它可以自动将具有最新数据的slave提升为新的master,然后将所有其 它的slave导向新的master上.整个故障转移过程对应用程序是透明的。
MHA node运行在每台MySQL服务器上(master/slave/manager),它通过监控具备解析和清理logs功能的脚本来加快故障转移的。
二、 本次试验环境
192.168.2.136(MHA Manager ) CentOS6.6+MySql5.6.24
192.168.2.137 (Master) CentOS6.6+MySql5.6.24
192.168.2.138(Slave1) CentOS6.6+MySql5.6.24
192.168.2.139(Slave2) CentOS6.6+MySql5.6.24
说明:本次试验是在一主二从的拓扑下测试,136为管理节点和配置虚拟IP,137为主机,138为主备,139为从机,当137发生异常,若自动将138设为主机,139复制正常,此部分操作对通过136虚拟IP访问的外部用户透明并且不会影响增删改操作,则测试成功,也是此次测试的目的。
三、 本次试验前提
本次试验前提环境是137,138,139均安装好Mysql数据库复制正常,三个数据库都允许外部IP访问。
(测试环境中的三个数据库用户名和密码均为root,137和138的复制用户和密码分别为repl和123456)。
ps:设置复制命令
change master to master_host='192.168.2.xxx',master_user='repl',master_password='123456',master_port=3306,master_log_file='mysql-bin.000003',master_log_pos=120,master_connect_retry=10;
四、 生成ssh密钥
分别在136,137,138,139四台机器上运行以下三条命令
cd /root/.ssh;
ssh-keygen -t dsa -P '' -f id_dsa;
cat id_dsa.pub >> authorized_keys;
在136上运行以下命令将137,138,139上的id_dsa.pub文件拷贝到当前机器的当前路径下并在名称后加上ip加以区分。拷贝期间要输入137,138,139的root用户密码。
scp 192.168.2.137:/root/.ssh/id_dsa.pub ./id_dsa.pub.137
scp 192.168.2.138:/root/.ssh/id_dsa.pub ./id_dsa.pub.138
scp 192.168.2.139:/root/.ssh/id_dsa.pub ./id_dsa.pub.139
运行以下命令将刚刚拷贝过来的id_dsa.pub.137,id_dsa.pub.138,id_dsa.pub.139加入到authorized_keys中
运行以下命令检查authorized_keys,如有四条对应机器的信息,则表示操作成功。
将authorized_keys 分别拷贝到137,138,139的 /root/.ssh路径下。期间需要输入root用户的密码。
验证ssh
分别在136,137,138,139上运行“ssh 192.168.2.xxx”的命令看是否能连通。以下截图以136为例子
五、 安装数据节点
在136,137,138,139上安装数据节点的MHA,每台机都需要安装,下面以136举例:
安装插件yum -y install perl-DBD-MySQL
安装 mha4mysql-node-0.56.tar.gz (本机的安装文件在 /home/MHA/ 目录下)
进入安装文件目录 cd /home/MHA
解压安装包 tar -zxvpf mha4mysql-node-0.56.tar.gz
进入解压后安装目录 cd mha4mysql-node-0.56
执行安装 perl Makefile.PL
安装时报以下错误
安装错误提示中所缺的模块 yum install perl-CPAN
在重新执行安装命令 perl Makefile.PL
出现以下信息则表示可以安装
10.执行安装命令 make && make install
六、 安装管理节点
在136上安装管理节点的MHA (本机的安装文件在 /home/MHA/ 目录下)
安装 mha4mysql-manager-0.56.tar.gz (本机安装文件在/home/MHA/目录下)
进入安装文件目录 cd /home/MHA
解压安装包 tar -zxvpf mha4mysql-manager-0.56.tar.gz
进入解压后目录 cd mha4mysql-manager-0.56
执行安装 perl Makefile.PL
安装过程中提示缺少以下模块
安装缺少的模块
cd -
yum install perl-Time-HiRes
yum install perl-Config-Tiny
yum install perl-MIME-Lite
rpm -ivh perl-Mail-Sender-0.8.16-1.e