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";