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 |
七.验证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