|
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