DBAtlas · 数据库运维图谱

在完全中断后恢复集群(rebootClusterFromCompleteOutage)

MySQLInnoDB Cluster

命令

# Are all members OFFLINE? (on every node)
mysql -h db1 -u icadmin -p -e "SELECT MEMBER_HOST, MEMBER_STATE FROM performance_schema.replication_group_members"
# Dry run first: shows the most up-to-date member and the planned steps
mysqlsh icadmin@db1:3306 --js -e "dba.rebootClusterFromCompleteOutage('prodCluster', {dryRun: true})"
mysqlsh icadmin@db1:3306 --js -e "dba.rebootClusterFromCompleteOutage('prodCluster')"
mysqlsh icadmin@db1:3306 -- cluster status

作用

在断电或所有节点同时重启后、没有 quorum 时重新引导组;选择 GTID 集合最高的成员,并让其他成员重新加入。

适用场景

当集群状态报告 'Cluster is not reachable' 且所有成员都显示 OFFLINE 时。

注意

只有在所有成员都为 OFFLINE 时才使用;如果仍有一个成员为 ONLINE,说明组仍然存活,其他成员用 rejoinInstance 加入即可。运行前先启动每个节点:如果某个不可达的成员数据更新,其事务会丢失。force: true 会忽略缺失的成员;这是最后的手段。primary: 'host:port' 选项强制指定某个成员为主节点。

在 DBAtlas 中打开 →

相关内容