MySQL高可用MHA安装部署以及故障转移详细资料汇总(四)

2015-07-24 08:16:51 · 作者: · 浏览: 16
oot@data01 ~]# ssh data02

Last login: Tue Apr 7 02:52:21 2015 from oraclem1

[root@data02 ~]# ssh data01

Last login: Tue Apr 7 02:55:13 2015 from oraclem1

[root@data01 ~]#

OK,看到可以实现通过主机名来无密码登录了。

?

6,准备好mysql主从环境

?

具体搭建过程,参考以前的blog:http://blog.csdn.net/mchdba/article/details/44734597

架构如下,一主二从的架构

Master主库à192.168.52.129,slave从库à192.168.52.130

Master 主库à192.168.52.129,slave从库à192.168.52.131

?

?

创建用户mha管理的账号,在所有mysql服务器上都需要执行:

GRANT SUPER,RELOAD,REPLICATIONCLIENT,SELECT ON *.* TO manager@'192.168.52.%' IDENTIFIED BY 'manager_1234';

GRANT CREATE,INSERT,UPDATE,DELETE,DROP ON*.* TO manager@'192.168.52.%';

?

创建主从账号,在所有mysql服务器上都需要执行:

GRANT RELOAD, SUPER, REPLICATION SLAVE ON*.* TO 'repl'@'192.168.52.%' IDENTIFIED BY 'repl_1234';

?

7,开始安装mha

mha包括manager节点和data节点,data节点包括原有的MySQL复制结构中的主机,至少3台,即1主2从,当masterfailover后,还能保证主从结构;只需安装node包。manager server:运行监控脚本,负责monitoring 和 auto-failover;需要安装node包和manager包。

?

为了节省机器,可以从现有复制架构中选一台“闲置”从库作为manager server,比如:某台从库不对外提供读的服务,只是作为候选主库,或是专门用于备份。

7.1,在数据节点上安装mha

首先安装yum -y install perl-DBD-MySQL

tar -zxvpf mha4mysql-node-0.56.tar.gz

perl Makefile.PL

make && make install

?

7.2 在管理节点上安装mha

首先安装perl的mysql包:

yum install -y perl-DBD-MySQL

yum install -y perl-Config-Tiny

yum install -y perl-Log-Dispatch

yum install -y perl-Parallel-ForkManager

yum install -y perl-Config-IniFiles

一些安装失败,可以直接下载rpm包安装:

wgetftp://ftp.muug.mb.ca/mirror/centos/5.10/os/x86_64/CentOS/perl-5.8.8-41.el5.x86_64.rpm

wgetftp://ftp.muug.mb.ca/mirror/centos/6.5/os/x86_64/Packages/compat-db43-4.3.29-15.el6.x86_64.rpm

wgethttp://downloads.naulinux.ru/pub/NauLinux/6x/i386/sites/School/RPMS/perl-Log-Dispatch-2.27-1.el6.noarch.rpm

?

wget http://dl.fedoraproject.org/pub/epel/6/i386/perl-Parallel-ForkManager-0.7.9-1.el6.noarch.rpm

?

wget http://dl.fedoraproject.org/pub/epel/6/i386/perl-Mail-Sender-0.8.16-3.el6.noarch.rpm wget http://dl.fedoraproject.org/pub/epel/6/i386/perl-Mail-Sendmail-0.79-12.el6.noarch.rpm

?

wget http://mirror.centos.org/centos/6/os/x86_64/Packages/perl-Time-HiRes-1.9721-136.el6.x86_64.rpm

?

下载完后,一个个rpm安装好

如果最后还是安装不好,可以尝试一下perl CPAN的方式:

perl -MCPAN -e shell

cpan[1]> install Log::Dispatch

?

然后通过perlMakefile.PL检查mha的perl安装环境,如下所示:

[root@oraclem1 mha4mysql-manager-0.56]#perl Makefile.PL

*** Module::AutoInstall version 1.03

*** Checking for Perl dependencies...

[Core Features]

- DBI ...loaded. (1.609)

- DBD::mysql ...loaded. (4.013)

- Time::HiRes ...loaded. (1.9726)

- Config::Tiny ...loaded. (2.12)

- Log::Dispatch ...loaded. (2.44)

- Parallel::ForkManager ...loaded. (0.7.9)

- MHA::NodeConst ...loaded. (0.56)

*** Module::AutoInstall configurationfinished.

Generating a Unix-style Makefile

Writing Makefile for mha4mysql::manager

Writing MYMETA.yml and MYMETA.json

[root@oraclem1 mha4mysql-manager-0.56]#

?

然后解压缩安装:

tar -xvf mha4mysql-manager-0.56.tar.gz

cd mha4mysql-manager-0.56

perl Makefile.PL

make && make install

?

7.3 编辑管理节点配置

?

在管理节点192.168.52.129上面

?

[root@data01 mha4mysql-manager-0.56]# vim/etc/masterha/app1.cnf

?

[server default]

manager_workdir=/var/log/masterha/app1

manager_log=/var/log/masterha/app1/manager.log

?

ssh_user=root #ssh免密钥登录的帐号名

repl_user=repl #mysql复制帐号,用来在主从机之间同步二进制