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이 없을 때 그룹을 다시 bootstrap한다. GTID 집합이 가장 큰 멤버를 선택하고 나머지를 재합류시킨다.

사용 시점

cluster status가 'Cluster is not reachable'을 보고하고 모든 멤버가 OFFLINE으로 표시될 때.

주의

모든 멤버가 OFFLINE일 때만 사용한다. 한 멤버라도 ONLINE이면 그룹이 살아 있는 것이므로 나머지는 rejoinInstance로 합류시킨다. 실행 전에 모든 노드를 시작한다. 접근할 수 없는 멤버가 더 최신이면 그 트랜잭션은 손실된다. force: true는 누락된 멤버를 무시하므로 최후의 수단이다. primary: 'host:port' 옵션은 특정 멤버를 primary로 강제한다.

DBAtlas에서 열기 →

관련 항목