Восстановить кластер после полного отключения (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Что делает
Заново выполняет bootstrap группы после потери питания или одновременного перезапуска всех узлов, когда кворума нет; выбирает участника с наибольшим набором GTID и заново подключает остальных.
Когда использовать
Когда cluster status сообщает 'Cluster is not reachable' и все участники показывают OFFLINE.
Внимание
Используйте, только когда все участники в состоянии OFFLINE; если хотя бы один участник ещё ONLINE, группа жива, и остальные подключаются через rejoinInstance. Перед запуском запустите все узлы: если недоступный участник более актуален, его транзакции будут потеряны. force: true игнорирует отсутствующих участников; это крайняя мера. Опция primary: 'host:port' принудительно назначает определённого участника primary.