21.6.6 Режим одного пользователя в NDB Cluster
Режим одного пользователя позволяет администратору базы данных ограничить доступ к системе базы данных одним узлом API, например, сервером MySQL (SQL-узлом) или экземпляром ndb_restore. При входе в режим одного пользователя подключения ко всем другим узлам API закрываются корректно, и все выполняемые транзакции прерываются. Запуска новых транзакций не допускается.
После перехода кластера в режим одного пользователя доступ к базе данных предоставляется только назначенному узлу API.
Вы можете использовать команду ALL STATUS в клиенте ndb_mgm для проверки перехода кластера в режим одного пользователя. Вы также можете проверить столбец status в таблице ndbinfo.nodes (подробнее см. раздел 21.6.15.28, «Таблица ndbinfo nodes»).
Пример:
ndb_mgm> ENTER SINGLE USER MODE 5
После выполнения этой команды и перехода кластера в режим одного пользователя узлом API, узел с идентификатором 5 становится единственно допустимым пользователем кластера.
Указанный в предыдущей команде узел должен быть узлом API; попытка указать любой другой тип узла отклоняется.
При вызове предыдущей команды все транзакции, выполняемые на назначенном узле, прерываются, соединение закрывается, и сервер необходимо перезапустить.
Команда EXIT SINGLE USER MODE изменяет состояние узлов данных кластера с режима одного пользователя на нормальный режим. Узлы API (например, серверы MySQL), ожидающие подключения (то есть ожидающие готовности и доступности кластера), снова разрешаются для подключения. Узел API, обозначенный как узел с режимом одного пользователя, продолжает работу (если по-прежнему подключен) во время и после изменения состояния.
Пример:
ndb_mgm> EXIT SINGLE USER MODE
Существует два рекомендуемых способа обработки сбоя узла при работе в режиме одного пользователя:
-
Способ 1:
Завершение всех транзакций в режиме одного пользователя
Выполнение команды
EXIT SINGLE USER MODEПерезапуск узлов данных кластера
-
Способ 2:
Перезапуск узлов хранения перед переходом в режим одного пользователя.
© 2025 Oracle
Licensed under the GPLv2 License.