《云计算》MySql高级:测试MHA集群,搭建步骤在上一篇

1 案例1:测试MHA集群
1.1 问题

查看MHA集群状态
测试节点之间的SSH登录
测试集群VIP的故障切换功能

1.2 步骤

实现此案例需要按照如下步骤进行。

步骤一:验证配置

1)检查配置环境,在主机52,53检查是否有同步数据的用户repluser

主机52:

mysql> select user,host from mysql.user where user="repluser";
+----------+------+
| user     | host |
+----------+------+
| repluser | %    |
+----------+------+
1 row in set (0.00 sec)
mysql> show grants for repluser@"%";
+--------------------------------------------------+
| Grants for repluser@%                            |
+--------------------------------------------------+
| GRANT REPLICATION SLAVE ON *.* TO 'repluser'@'%' |
+--------------------------------------------------+
1 row in set (0.00 sec

主机53:

mysql> select user,host from mysql.user where user="repluser";
+----------+------+
| user     | host |
+----------+------+
| repluser | %    |
+----------+------+
1 row in set (0.00 sec)
mysql> show grants for repluser@"%";
+--------------------------------------------------+
| Grants for repluser@%                               |
+--------------------------------------------------+
| GRANT REPLICATION SLAVE ON *.* TO 'repluser'@'%' |

±-------------------------------------------------+

1 row in set (0.00 sec)

2)在51的主机上做root的授权,其他的会同步(如果不做,在验证数据节点的主从同步配置时会出错)

mysql> grant all on *.* to root@"%" identified by "123456";
mysql> select user,host from mysql.user where user="root";
+------+-----------+
| user | host      |
+------+-----------+
| root | %         |
| root | localhost |
+------+-----------+
2 rows in set (0.00 sec)

3)验证ssh 免密登陆数据节点主机

[root@mgm56 mha4mysql-manager-0.56]#  cd /usr/local/bin/
[root@mgm56 bin]# masterha_check_ssh  --conf=/etc/mha_manager/app1.cnf
Wed Sep 19 09:09:33 2018 - [info] All SSH connection tests passed successfully.
//出现这个为成功

4)验证数据节点的主从同步配置(先把自动failover时候的切换脚本注释掉)

[root@mgm56 bin]#  masterha_check_repl --conf=/etc/mha_manager/app1.cnf
MySQL Replication Health is OK.  //验证成功

5)启动管理服务MHA_Manager

–remove_dead_master_conf //删除宕机主库配置

–ignore_last_failover //忽略xxx.health文件

[root@mgm56 bin]# masterha_manager --conf=/etc/mha_manager/app1.cnf \  
 --remove_dead_master_conf --ignore_last_failover 
Wed Sep 19 09:24:41 2018 - [warning] Global configuration file /etc/masterha_default.cnf not found. Skipping.
Wed Sep 19 09:24:41 2018 - [info] Reading application default configuration from /etc/mha_manager/app1.cnf..
Wed Sep 19 09:24:41 2018 - [info] Reading server configuration from /etc/mha_manager/app1.cnf..

6)查看状态(另开一个终端)

[root@mgm56 ~]# masterha_check_status  --conf=/etc/mha_manager/app1.cnf
app1 (pid:15745) is running(0:PING_OK), master:192.168.4.51

7)停止服务

[root@mgm56 ~]# masterha_stop  --conf=/etc/mha_manager/app1.cnf
Stopped app1 successfully.

步骤二:测试故障转移

1)在主库51上面配置VIP地址

[root@master51 ~]# ifconfig eth0:1 192.168.4.100/24

2)在配置文件里面把自动failover时候的切换脚本去掉注释

3)修改 master_ip_failover 脚本,设置如下内容

34 my $vip = '192.168.4.100/24'; 
 35 my $key = "1";
 36 my $ssh_start_vip = "/sbin/ifconfig eth0:$key $vip";
 37 my $ssh_stop_vip = "/sbin/ifconfig eth0:$key down";

4)启动服务

[root@mgm56 bin]# masterha_manager --conf=/etc/mha_manager/app1.cnf \ 
 --remove_dead_master_conf --ignore_last_failover
Wed Sep 19 09:50:33 2018 - [warning] Global configuration file /etc/masterha_default.cnf not found. Skipping.
Wed Sep 19 09:50:33 2018 - [info] Reading application default configuration from /etc/mha_manager/app1.cnf..
Wed Sep 19 09:50:33 2018 - [info] Reading server configuration from /etc/mha_manager/app1.cnf..

5)查看状态

[root@mgm56 ~]# masterha_check_status  --conf=/etc/mha_manager/app1.cnf
app1 master is down and failover is running(50:FAILOVER_RUNNING). master:192.168.4.52

验证数据节点的主从同步配置报错,如图-3所示:

[root@mgm56 bin]#  masterha_check_repl --conf=/etc/mha_manager/app1.cnf 

在这里插入图片描述
图-3

解决办法:

root用户没有授权,默认只能本地连接,在主机51上面授权root用户可以远程登录,其他主机会同步

mysql> grant all on *.* to root@"%" identified by "123456";
发布了225 篇原创文章 · 获赞 43 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/xie_qi_chao/article/details/104721339