|
@@ -0,0 +1,85 @@
|
|
|
|
|
+# 重新引导 MGR 集群, 这是集群重启后的典型状态
|
|
|
|
|
+
|
|
|
|
|
+# 根据 GTID 判断数据新旧
|
|
|
|
|
+docker exec -i mysql80-1 mysql -uroot -pRoot_123456 -e"
|
|
|
|
|
+SELECT @@global.gtid_executed;
|
|
|
|
|
+"
|
|
|
|
|
+
|
|
|
|
|
+# 假设 mysql80-1 节点的数据最新, 将其作为引导节点
|
|
|
|
|
+docker exec -i mysql80-1 mysql -uroot -pRoot_123456 -e "
|
|
|
|
|
+SET GLOBAL group_replication_bootstrap_group=ON;
|
|
|
|
|
+START GROUP_REPLICATION USER='repl', PASSWORD='Repl_123456';
|
|
|
|
|
+SET GLOBAL group_replication_bootstrap_group=OFF;
|
|
|
|
|
+"
|
|
|
|
|
+
|
|
|
|
|
+# docker exec -i mysql80-2 mysql -uroot -pRoot_123456 -e"
|
|
|
|
|
+# SELECT @@global.gtid_executed;
|
|
|
|
|
+# "
|
|
|
|
|
+
|
|
|
|
|
+# docker exec -i mysql80-2 mysql -uroot -pRoot_123456 -e "
|
|
|
|
|
+# START GROUP_REPLICATION USER='repl', PASSWORD='Repl_123456';
|
|
|
|
|
+# "
|
|
|
|
|
+
|
|
|
|
|
+# docker exec -i mysql80-3 mysql -uroot -pRoot_123456 -e"
|
|
|
|
|
+# SELECT @@global.gtid_executed;
|
|
|
|
|
+# "
|
|
|
|
|
+
|
|
|
|
|
+# docker exec -i mysql80-3 mysql -uroot -pRoot_123456 -e "
|
|
|
|
|
+# START GROUP_REPLICATION USER='repl', PASSWORD='Repl_123456';
|
|
|
|
|
+# "
|
|
|
|
|
+
|
|
|
|
|
+## 所有节点
|
|
|
|
|
+CONTAINER_NAME="mysql80-1"
|
|
|
|
|
+docker exec -i ${CONTAINER_NAME} mysql -uroot -pRoot_123456 -e "
|
|
|
|
|
+STOP GROUP_REPLICATION;
|
|
|
|
|
+"
|
|
|
|
|
+
|
|
|
|
|
+docker exec -i mysql80-1 mysql -uroot -pRoot_123456 -e "
|
|
|
|
|
+STOP GROUP_REPLICATION;
|
|
|
|
|
+"
|
|
|
|
|
+
|
|
|
|
|
+## master 节点
|
|
|
|
|
+```
|
|
|
|
|
+docker exec -i mysql80-1 mysql -uroot -pRoot_123456 -e "
|
|
|
|
|
+# RESET MASTER; -- 这会情况所有数据
|
|
|
|
|
+RESET REPLICA ALL;
|
|
|
|
|
+"
|
|
|
|
|
+
|
|
|
|
|
+docker exec -i mysql80-1 mysql -uroot -pRoot_123456 -e "
|
|
|
|
|
+SET GLOBAL group_replication_bootstrap_group=ON;
|
|
|
|
|
+START GROUP_REPLICATION;
|
|
|
|
|
+SET GLOBAL group_replication_bootstrap_group=OFF;
|
|
|
|
|
+"
|
|
|
|
|
+```
|
|
|
|
|
+
|
|
|
|
|
+## slave 节点
|
|
|
|
|
+```
|
|
|
|
|
+docker exec -i mysql80-2 mysql -uroot -pRoot_123456 -e "
|
|
|
|
|
+STOP GROUP_REPLICATION;
|
|
|
|
|
+RESET MASTER;
|
|
|
|
|
+RESET REPLICA ALL;
|
|
|
|
|
+
|
|
|
|
|
+START GROUP_REPLICATION;
|
|
|
|
|
+"
|
|
|
|
|
+```
|
|
|
|
|
+
|
|
|
|
|
+## 查看从节点恢复状态
|
|
|
|
|
+### 检查连接错误:在从节点上运行以下命令,查看恢复通道的报错信息
|
|
|
|
|
+```
|
|
|
|
|
+docker exec -i mysql80-2 mysql -uroot -pRoot_123456 -e "
|
|
|
|
|
+SELECT * FROM performance_schema.replication_connection_status
|
|
|
|
|
+WHERE CHANNEL_NAME = 'group_replication_recovery'\G
|
|
|
|
|
+"
|
|
|
|
|
+```
|
|
|
|
|
+
|
|
|
|
|
+### 查看具体报错:同样检查 replication_applier_status_by_worker 看看有没有拉取日志的报错
|
|
|
|
|
+```
|
|
|
|
|
+docker exec -i mysql80-2 mysql -uroot -pRoot_123456 -e "
|
|
|
|
|
+SELECT * FROM performance_schema.replication_applier_status_by_worker
|
|
|
|
|
+WHERE CHANNEL_NAME = 'group_replication_recovery'\G
|
|
|
|
|
+"
|
|
|
|
|
+
|
|
|
|
|
+docker exec -i mysql80-2 mysql -uroot -pRoot_123456 -e "
|
|
|
|
|
+CHANGE REPLICATION SOURCE TO SOURCE_USER='repl', SOURCE_PASSWORD='Repl_123456' FOR CHANNEL 'group_replication_recovery';
|
|
|
|
|
+"
|
|
|
|
|
+```
|