MGR 多主模式节点宕机重启

1,初始主节点宕机
当mysql服务进程还在:
执行如下命名 
mysql>  select * from performance_schema.replication_group_members;
+---------------------------+--------------------------------------+-------------+-------------+--------------+
| CHANNEL_NAME              | MEMBER_ID                            | MEMBER_HOST | MEMBER_PORT | MEMBER_STATE |
+---------------------------+--------------------------------------+-------------+-------------+--------------+
| group_replication_applier | efce3b94-e7ba-11e8-b99c-005056237187 | ndb01       |        3306 | ERROR        |
+---------------------------+--------------------------------------+-------------+-------------+--------------+
发现集群状态已经为ERROR
停止同步服务进程执行
stop group_replication;
mysql>  select * from performance_schema.replication_group_members;
+---------------------------+--------------------------------------+-------------+-------------+--------------+
| CHANNEL_NAME              | MEMBER_ID                            | MEMBER_HOST | MEMBER_PORT | MEMBER_STATE |
+---------------------------+--------------------------------------+-------------+-------------+--------------+
| group_replication_applier | efce3b94-e7ba-11e8-b99c-005056237187 | ndb01       |        3306 | OFFLINE      |
+---------------------------+--------------------------------------+-------------+-------------+--------------+
此时集群状态以为OFFLINE 
开启同步进程 
start group_replication; 

mysql>  select * from performance_schema.replication_group_members;
+---------------------------+--------------------------------------+-------------+-------------+--------------+
| CHANNEL_NAME              | MEMBER_ID                            | MEMBER_HOST | MEMBER_PORT | MEMBER_STATE |
+---------------------------+--------------------------------------+-------------+-------------+--------------+
| group_replication_applier | 3eae0abc-e7bb-11e8-8a21-0050562e92c0 | ndb02       |        3306 | ONLINE       |
| group_replication_applier | 46f558a2-e7bb-11e8-8ff9-0050563c8c87 | ndb03       |        3306 | ONLINE       |
| group_replication_applier | efce3b94-e7ba-11e8-b99c-005056237187 | ndb01       |        3306 | ONLINE       |
+---------------------------+--------------------------------------+-------------+-------------+--------------+
所有节点均已上线
当mysql服务进程已死:
我们重启mysql服务
[root@ndb01 ~]# /etc/init.d/mysql.server start
mysql> select * from performance_schema.replication_group_members;
+---------------------------+-----------+-------------+-------------+--------------+
| CHANNEL_NAME              | MEMBER_ID | MEMBER_HOST | MEMBER_PORT | MEMBER_STATE |
+---------------------------+-----------+-------------+-------------+--------------+
| group_replication_applier |           |             |        NULL | OFFLINE      |
+---------------------------+-----------+-------------+-------------+--------------+
1 row in set (0.00 sec)
此时集群状态以为OFFLINE 
mysql> start group_replication;
Query OK, 0 rows affected (2.43 sec)

mysql> select * from performance_schema.replication_group_members;
+---------------------------+--------------------------------------+-------------+-------------+--------------+
| CHANNEL_NAME              | MEMBER_ID                            | MEMBER_HOST | MEMBER_PORT | MEMBER_STATE |
+---------------------------+--------------------------------------+-------------+-------------+--------------+
| group_replication_applier | 3eae0abc-e7bb-11e8-8a21-0050562e92c0 | ndb02       |        3306 | ONLINE       |
| group_replication_applier | 46f558a2-e7bb-11e8-8ff9-0050563c8c87 | ndb03       |        3306 | ONLINE       |
| group_replication_applier | efce3b94-e7ba-11e8-b99c-005056237187 | ndb01       |        3306 | ONLINE       |
+---------------------------+--------------------------------------+-------------+-------------+--------------+
3 rows in set (0.00 sec)
当所有节点重启:
开始各个节点mysql服务
在各个节点执行
mysql> start group_replication;
^C^C -- query aborted
^C^C -- query aborted
^C^C -- query aborted
^C^C -- query aborted
^C^C -- query aborted
会卡主,日志报
[ERROR] Plugin group_replication reported: '[GCS] The member was unable to join the group. Local port: 33061'

这任意节点执行:
mysql> SET GLOBAL group_replication_bootstrap_group = ON;  
Query OK, 0 rows affected (0.01 sec)

mysql> start group_replication;
Query OK, 0 rows affected (2.07 sec)

其余节点:
mysql> start group_replication;
Query OK, 0 rows affected (2.07 sec)

mysql>  SELECT * FROM performance_schema.replication_group_members;
+---------------------------+--------------------------------------+-------------+-------------+--------------+
| CHANNEL_NAME              | MEMBER_ID                            | MEMBER_HOST | MEMBER_PORT | MEMBER_STATE |
+---------------------------+--------------------------------------+-------------+-------------+--------------+
| group_replication_applier | 3eae0abc-e7bb-11e8-8a21-0050562e92c0 | ndb02       |        3306 | ONLINE       |
| group_replication_applier | 46f558a2-e7bb-11e8-8ff9-0050563c8c87 | ndb03       |        3306 | ONLINE       |
| group_replication_applier | efce3b94-e7ba-11e8-b99c-005056237187 | ndb01       |        3306 | ONLINE       |
+---------------------------+--------------------------------------+-------------+-------------+--------------+

所有节点均已上线
2,初始从节点宕机
执行:
mysql> start group_replication;
Query OK, 0 rows affected (2.07 sec)
即可

总结:通过  SELECT * FROM performance_schema.replication_group_members;
查询结果为OFFLINE  可以直接开启服务
查询结果为ERROR    停止集群再开启
所有节点都宕机需要 确定新的主节点引导集群
SET GLOBAL group_replication_bootstrap_group = ON;
各节点start group_replication; 即可

如有问题探讨,请加QQ群:695182221

猜你喜欢

转载自blog.csdn.net/shilukun/article/details/84065962
MGR