mysql group replication是mysql基于paxos算法来做数据强一致性同步,其中采用的是Xcom协议。在某些情况下回导致数据不一致,如服务器掉电情况。
恢复采用mysqldump处理,进行全量备份然后恢复,如果数据库数量大,则可能会比较耗时,慎重采用该方式。最好根据mysql日志排查问题,找出原因再处理。
恢复步骤如下:
1、从具有最全的数据库中全量备份数据;
cd /usr/local/mysql/bin
./mysqldump -uroot -p -A --all-databases > /data/20210510_all.sql
2、将备份sql传到其他服务器上
scp 20210510_all.sql root@xx.xx.xx.xxx:/databak
3、还原备份
mysql> RESET MASTER;
mysql> RESET SLAVE ALL;
mysql> SET SQL_LOG_BIN=OFF;
mysql> SOURCE /databak/20210510_all.sql
mysql> SET SQL_LOG_BIN=ON;
mysql> CHANGE MASTER TO MASTER_USER='repl', MASTER_PASSWORD='xxxx' FOR CHANNEL 'group_replication_recovery';
4、启动group_replication
mysql> stop group_replication;
mysql> start group_replication;
5、其他节点按照上述步骤2-4进行即可。