| 
 
1 
2 
3 
4 
5 
 | 
[manager,master,slave1,slave2]shell>
 yum updateshell>
 yum -y install perl-DBD-MySQL
 ncftpshell>
 wget http://mysql-master-ha.googlecode.com/files/mha4mysql-node-0.53-0.noarch.rpmsehll>
 rpm -ivh mha4mysql-node-0.53-0.noarch.rpm | 
| 
 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
 | 
[manager]shell>
 yum install perlshell>
 yum install cpanshell>
 rpm -ivh mha4mysql-manager-0.53-0.el6.noarch.rpmerror:perl(Config::Tiny)
 is needed by mha4mysql-manager-0.53-0.noarchperl(Log::Dispatch)
 is needed by mha4mysql-manager-0.53-0.noarchperl(Log::Dispatch::File)
 is needed by mha4mysql-manager-0.53-0.noarchperl(Log::Dispatch::Screen)
 is needed by mha4mysql-manager-0.53-0.noarchperl(Parallel::ForkManager)
 is needed by mha4mysql-manager-0.53-0.noarchperl(Time::HiRes)
 is needed by mha4mysql-manager-0.53-0.noarch[solution]shell>
 wget ftp://ftp.muug.mb.ca/mirror/centos/5.10/os/x86_64/CentOS/perl-5.8.8-41.el5.x86_64.rpmshell>
 wget ftp://ftp.muug.mb.ca/mirror/centos/6.5/os/x86_64/Packages/compat-db43-4.3.29-15.el6.x86_64.rpmshell>
 wget http://downloads.naulinux.ru/pub/NauLinux/6x/i386/sites/School/RPMS/perl-Log-Dispatch-2.27-1.el6.noarch.rpmshell>
 wget http://dl.fedoraproject.org/pub/epel/6/i386/perl-Parallel-ForkManager-0.7.9-1.el6.noarch.rpmshell>
 wget http://dl.fedoraproject.org/pub/epel/6/i386/perl-Mail-Sender-0.8.16-3.el6.noarch.rpmshell>
 wget http://dl.fedoraproject.org/pub/epel/6/i386/perl-Mail-Sendmail-0.79-12.el6.noarch.rpmshell>
 wget http://mirror.centos.org/centos/6/os/x86_64/Packages/perl-Time-HiRes-1.9721-136.el6.x86_64.rpmshell>
 rpm -ivh perl-Parallel-ForkManager-0.7.9-1.el6.noarch.rpm perl-Log-Dispatch-2.27-1.el6.noarch.rpm perl-Mail-Sender-0.8.16-3.el6.noarch.rpm perl-Mail-Sendmail-0.79-12.el6.noarch.rpm perl-Time-HiRes-1.9721-136.el6.x86_64.rpmshell>
 rpm -ivh mha4mysql-manager-0.53-0.el6.noarch.rpm | 
| 
 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
 | 
[master:156]1.shell>
 vim /etc/my.cnf#server-id
 改为1server-id=1log-bin=mysql-binbinlog_format=mixed#授权操作2.mysql>
 GRANT ALL PRIVILEGES ON *.* TO ‘rep‘@‘10.10.54.%‘ IDENTIFIED
 BY ‘rep123‘;mysql>
 flush privileges;3.mysql>
 show master status;[slave1,slave2]4.change
 master操作mysql>
 change master tomaster_host=‘10.10.54.156‘,master_port=3306,master_user=‘rep‘,master_password=‘rep123‘,master_log_file=‘mysql-bin.000001‘,master_log_pos=112; | 
| 
 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
23 
24 
25 
 | 
[server
 default]user=mha_rep    ##mysql管理用戶名password=123456manager_workdir=/masterha/app1   #目录可以任意指定manager_log=/masterha/app1/manager.logremote_workdir=/masterha/app1ssh_user=root     #ssh免密钥登录的帐号名repl_user=rep     #mysql复制帐号,用来在主从机之间同步二进制日志等repl_password=rep123ping_interval=1    #ping间隔时间,用来检测master是否正常[server1]hostname=10.10.54.155#ssh_port=9999master_binlog_dir=/data/ndb   #mysql数据库目录candidate_master=1    #master机宕掉后,优先启用这台作为新master[server2]hostname=10.10.54.156#ssh_port=9999master_binlog_dir=/data/ndbcandidate_master=1[server3]hostname=10.10.54.157#ssh_port=9999master_binlog_dir=/data/ndbno_master=1     #设置no_master=1使主机不能成为新master | 
| 
 
1 
2 
3 
4 
 | 
[manager:154]shell>
 masterha_check_ssh --conf=/etc/masterha/app1.cnfSun
 Mar  2 17:45:38 2014 - [debug]   ok.Sun
 Mar  2 17:45:38 2014 - [info] All SSH connection tests passed successfully. | 
| 
 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
 | 
[manager:154]shell>
 masterha_check_repl --conf=/etc/masterha/app1.cnf---------------------------------------------------------Sun
 Mar  2 13:16:57 2014 - [info] Slaves settings check done.Sun
 Mar  2 13:16:57 2014 - [info]10.10.54.156
 (current master) +--10.10.54.155 +--10.10.54.157...MySQL
 Replication Health is OK.--------------------------------------------------------------- | 
| 
 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
 | 
[manager:154]shell> nohup masterha_manager
 --conf=/etc/masterha/app1.cnf
 > /tmp/mha_manager.log
 2>&1shell> tail -f /masterha/app1/manager.log--------------------------------------------------------------- 10.10.54.156
 (current master) +--10.10.54.155 +--10.10.54.157...Sun
 Mar  2 13:09:25 2014 - [info] Ping(SELECT) succeeded, waiting until MySQL
 doesn‘t respond..----------------------------------------------------------------- | 
| 
 
1 
 | 
$msg
 = "" unless($msg); | 
Mysql高可用架构MHA搭建及测试故障转移,布布扣,bubuko.com
原文:http://blog.csdn.net/enweitech/article/details/23768409