设为首页 加入收藏

TOP

Mysql高可用架构MHA搭建及测试故障转移(二)
2014-11-23 22:58:30 来源: 作者: 【 】 浏览:23
Tags:Mysql 可用 架构 MHA 搭建 测试 故障 转移
master
[slave1:155]
5.mysql> GRANT ALL PRIVILEGES ON *.* TO 'rep'@'10.10.54.%' IDENTIFIED BY 'rep123';


[master,slave1,slave2]
6.查看主从复制是否成功的一些命令
mysql> start slave;
mysql> stop slave;
mysql> reset slave;
mysql> show slave status\G;

五.所有主机上设置复制权限帐号
mysql> GRANT ALL PRIVILEGES ON *.* TO 'mha_rep'@'10.10.2.10' IDENTIFIED BY '123456';

六.manager上配置MHA文件,管理各个节点

[manager:154]
shell> mkdir -p /masterha/app1
shell> mkdir /etc/masterha
shell> vim /etc/masterha/app1.cnf

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=123456 manager_workdir=/masterha/app1 #目录可以任意指定 manager_log=/masterha/app1/manager.log remote_workdir=/masterha/app1 ssh_user=root #ssh免密钥登录的帐号名 repl_user=rep #mysql复制帐号,用来在主从机之间同步二进制日志等 repl_password=rep123 ping_interval=1 #ping间隔时间,用来检测master是否正常 [server1] hostname=10.10.54.155 #ssh_port=9999 master_binlog_dir=/data/ndb #mysql数据库目录 candidate_master=1 #master机宕掉后,优先启用这台作为新master [server2] hostname=10.10.54.156 #ssh_port=9999 master_binlog_dir=/data/ndb candidate_master=1 [server3] hostname=10.10.54.157 #ssh_port=9999 master_binlog_dir=/data/ndb no_master=1 #设置no_master=1使主机不能成为新master

七.验证ssh信任登陆和mysql主从复制是否成功

1.masterha_check_ssh 验证ssh信任登陆

1 2 3 4 [manager:154] shell> masterha_check_ssh --conf=/etc/masterha/app1.cnf Sun Mar 2 17:45:38 2014 - [debug] ok. Sun Mar 2 17:45:38 2014 - [info] All SSH connection tests passed successfully.

2.masterha_check_repl 验证mysql复制是否成功

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. ---------------------------------------------------------------

八.启动MHA manager,并监控日志文件

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>&1 shell> 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.. -----------------------------------------------------------------

监控的manager.log文件表明MHA运行良好,正在 "waiting until MySQL doesn't respond"

九.测试master(156)宕机后,是否会自动切换

1.测试自动切换是否成功

当掉master机子

shell> /etc/init.d/myqld stop
当掉master后,manager上的监控文件/masterha/app1/manager.log显示错误信息,表示不能自动切换:
[error]
-----------------------------------------------------------
Sun Mar 2 13:13:46 2014 - [error][/usr/share/perl5/vendor_perl/MHA/ManagerUtil.pm, ln178] Got ERROR: Use of uninitialized value $msg in scalar chomp at /usr/share/perl5/vendor_perl/MHA/ManagerConst.pm line 90.
-----------------------------------------------------------
解决这个错误是在文件/usr/share/perl5/vendor_perl/MHA/ManagerConst.pm 第90行(chomp $msg)前加入一行:

1 $msg = "" unless($msg);

好了,错误解决了,下面我们再次重复上面步骤:
master上mysql服务:shell> /etc/init.d/mysqld stop
再次查看manager机子上监控文件内容

shell> tail -f tail -f /masterha/app1/manager.log
日志文件显示:
-----------------------------------------------------------
----- Failover Report -----
app

首页 上一页 1 2 3 下一页 尾页 2/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇修改MySQL中一个用户的密码 下一篇MySQL架构组成之逻辑模块组成

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: