接下来我们正式开始学习MHA数据库高可用架构的搭建,先来学习一下在三个数据库所在机器上安装MHA node节点的步骤,首先必须要先安装Perl语言环境
所以先可以用yum装一下Perl语言环境:
yum install perl-DBD-MySQL
然后从下属地址下载MHA node代码:https://github.com/yoshinorim/mha4mysql-node,接着就可以把node的压缩包用WinSCP之类的工具上传到机器上去,接着解压缩node包就可以了
tar -zxvf mha4mysql-node-0.57.tar.gz
然后可以安装perl-cpan软件包:
cd mha4mysql-node-0.57
yum -y install perl-CPAN*
perl Makefile.PL
make && make install
到此为止,暂时node的安装就可以了,记得3个部署MySQL的机器都要安装node,接着就是安装MHA的manager节点,先安装需要的一些依赖包:
yum install -y perl-DBD-MySQL*
rpm -ivh perl-Params-Validate-0.92-3.el6.x86_64.rpm
rpm -ivh perl-Config-Tiny-2.12-1.el6.rfx.noarch.rpm
rpm -ivh perl-Log-Dispatch-2.26-1.el6.rfx.noarch.rpm
rpm -ivh perl-Parallel-ForkManager-0.7.5-2.2.el6.rfx.noarch.rpm
接着就可以安装manager节点了,先在下面的地址下载manager的压缩包:https://github.com/yoshi norim/mha4mysql-manager,然后上传到机器上去,按照下述步骤安装就可以了:
tar -zxvf mha4mysql-manager-0.57.tar.gz
perl Makefile.PL
make && make install
接着为MHA manager创建几个目录:/usr/local/mha,/etc/mha,然后进入到/etc/mha目录下,vi
mha.conf一下,编辑他的配合文件
[server default]
user=zhss
password=12345678
manager_workdir=/usr/local/mha
manager_log=/usr/local/mha/manager.log
remote_workdir=/usr/local/mha
ssh_user=root
repl_user=repl
repl_password=repl
ping_interval=1
master_ip_failover_script=/usr/local/scripts/master_ip_failover
master_ip_online_change_script=/usr/local/scripts/master_ip_online_change
[server1]
hostname=xx.xx.xx.xx
ssh_port=22
master_binlog_dir=/data/mysqll
condidate_master=1
port=3306
[server1]
hostname=xx.xx.xx.xx
ssh_port=22
master_binlog_dir=/data/mysqll
condidate_master=1
port=3306
[server1] hostname=xx.xx.xx.xx
ssh_port=22
master_binlog_dir=/data/mysqll
condidate_master=1
port=3306
上面那份配置文件就可以指导MHA manager节点去跟其他节点的node通信了,大家可以观察到,上面说白了都是配置一些工作目录,日志目录,用户密码之类的东西,还有一些脚本,另外比较关键的是, 你有几个node节点,就配置一个server,把每个server的ip地址配置进去就可以了
接着创建存放脚本的目录:/usr/local/scripts,在里面需要放一个master_ip_failover脚本,vi master_ip_failover就可以了,输入下面的内容:
接着在编辑一下online_change这个脚本,如下:
完事儿过后,就可以给两个脚本增加权限:
chmod +x master_ip_failover
chmod +x master_ip_online_change
接着安装需要的软件包:yum -y install perl-Time-HiRes
执行SSH检测命令:/usr/local/bin/masterha_check_ssh —conf=/etc/mha/mha.conf 如果检测结果全部显示为OK,那么就代表你安装完毕了
然后检测主从架构:/usr/local/bin/masterha_check_repl —conf=/etc/mha/mha.conf 如果检测结果全部正常,那么就代表没问题了
好,这次我们就学习到这里,下次继续学习