# 重新引导 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'; " ```