1. 在当前主节点创建全量备份 (mysqldump 或 xtrabackup):
# /usr/bin/innobackupex --defaults-file=/etc/my.cnf --user=root --password='xxxx' /data/backup
2. 停止故障实例的 MySQL
# mysqladmin -uroot -p shutdown
3. 清空当前数据目录
备注: 清空前备份一下
4. 恢复全量备份到故障实例:
- #/usr/bin/innobackupex --defaults-file=/etc/my.cnf --user root --socket=/tmp/MySQL.sock --apply-log /data/backup
- #/usr/bin/innobackupex --defaults-file=/etc/my.cnf --user root --socket=/tmp/MySQL.sock --move-back /data/MySQL
5. 启动 MySQL:
#mysqld_safe --user=MySQL &
6. 更新 GTID_PURGE
- MySQL> RESET MASTER;
- MySQL> RESET SLAVE ALL;
- MySQL> SET SQL_LOG_BIN=OFF;
- MySQL> SOURCE datadir/backup_gtid_executed.sql
- MySQL> SET SQL_LOG_BIN=ON;
- MySQL> CHANGE MASTER TO MASTER_USER='rpl_user', MASTER_PASSWORD='password' FOR CHANNEL 'group_replication_recovery';
启动组复制:
MySQL> START GROUP_REPLICATION;
7. 检查节点状态:
MySQL> SELECT * member_host, member_port, member_state FROM performance_schema.replication_group_members;
来源: http://www.linuxidc.com/Linux/2019-09/160663.htm