9.3 Учетные записи пользователей для InnoDB ClusterSet
Серверные узлы в InnoDB Cluster используют три типа учетных записей пользователей. Одна учетная запись конфигурации сервера InnoDB Cluster используется для настройки экземпляров серверов в кластере. После настройки кластера можно создать одну или несколько учетных записей администратора InnoDB Cluster для управления экземплярами серверов администраторами. Можно создать одну или несколько учетных записей MySQL Router для экземпляров MySQL Router, чтобы они могли подключаться к кластеру. Каждая учетная запись пользователя должна существовать на всех серверных узлах в InnoDB Cluster с одинаковым именем пользователя и паролем.
В развертывании InnoDB ClusterSet каждый серверный узел является частью InnoDB Cluster, поэтому они требуют одинаковых типов учетных записей пользователей. Учетные записи пользователей из основного кластера используются для всех кластеров в развертывании. Каждая учетная запись пользователя должна существовать на каждом серверном узле в каждом кластере в развертывании — как в основном кластере, так и в реплицируемых кластерах.
- Учетная запись конфигурации сервера InnoDB Cluster
-
Эта учетная запись используется для создания и настройки серверных узлов развертывания InnoDB Cluster и InnoDB ClusterSet. Каждый серверный узел имеет только одну учетную запись конфигурации сервера. Одинаковое имя пользователя и пароль должны использоваться на каждом серверном узле в кластере. Для этой цели вы можете использовать учетную запись
rootна серверах, но если вы это сделаете, учетная записьrootна каждом серверном узле в кластере должна иметь тот же пароль. Это не рекомендуется по соображениям безопасности.Предпочтительный подход заключается в создании учетной записи конфигурации сервера InnoDB Cluster с помощью команды
dba.configureInstance()с опциейclusterAdmin. Для повышения безопасности укажите пароль в интерактивном режиме, в противном случае укажите его с помощью опцииclusterAdminPassword. Создайте такую же учетную запись с тем же именем пользователя и паролем таким же способом на каждом экземпляре сервера, который будет частью InnoDB Cluster — как на экземпляре, к которому вы подключаетесь для создания кластера, так и на экземплярах, которые присоединятся к кластеру после этого.Команда
dba.configureInstance()предоставляет учетной записи необходимые разрешения автоматически. Вы можете настроить учетную запись вручную, предоставив ей разрешения, указанные в ручной настройке учетных записей администратора InnoDB Cluster. Учетная запись должна иметь полные права чтения и записи для метаданных таблиц InnoDB Cluster, а также полные права MySQL-администратора.Учетная запись конфигурации сервера InnoDB Cluster, созданная с помощью операции
dba.configureInstance(), не реплицируется на другие серверные узлы в InnoDB Cluster или в развертывании InnoDB ClusterSet. MySQL Shell отключает двоичный протокол логирования для операцииdba.configureInstance(). Это означает, что вам необходимо создать учетную запись на каждом экземпляре сервера индивидуально.В развертывании InnoDB ClusterSet одинаковая учетная запись конфигурации сервера InnoDB Cluster должна существовать на каждом экземпляре сервера, используемом в развертывании. При настройке реплицируемого кластера необходимо выполнить команду
dba.configureInstance()с опциейclusterAdminдля создания учетной записи на каждом серверном узле, который будет частью реплицируемого кластера. В команде должно быть указано имя учетной записи конфигурации сервера InnoDB Cluster из основного кластера, и вы должны указать для нее тот же пароль. Вам необходимо выполнить этот шаг до присоединения экземпляров к реплицируемому кластеру, чтобы учетная запись была доступна для настройки метаданных и репликации реплицируемого InnoDB Cluster и развертывания InnoDB ClusterSet. - Учетные записи администратора InnoDB Cluster
-
Эти учетные записи могут использоваться для администрирования InnoDB Cluster и InnoDB ClusterSet после завершения процесса конфигурации. Вы можете настроить несколько таких учетных записей. Каждая учетная запись должна существовать на каждом серверном узле в InnoDB Cluster с одинаковым именем пользователя и паролем, а также на каждом серверном узле каждого кластера в развертывании InnoDB ClusterSet.
Для создания учетной записи администратора InnoDB Cluster для развертывания InnoDB ClusterSet выполните команду
на одном серверном узле в основном кластере после добавления всех экземпляров в этот кластер. Эта команда создает учетную запись с указанным вами именем пользователя и паролем со всеми необходимыми разрешениями. Транзакция для создания учетной записи сcluster.setupAdminAccount()отправляется на все другие серверные узлы в кластере, чтобы создать учетную запись на них.cluster.setupAdminAccount()Если основной InnoDB Cluster уже существовал, когда вы начали настройку развертывания InnoDB ClusterSet, учетная запись администратора InnoDB Cluster, вероятно, уже существует. В этом случае вам не нужно снова выполнять
, если вы не хотите создать дополнительные учетные записи администратора InnoDB Cluster.cluster.setupAdminAccount()Реплицируемые кластеры в развертывании InnoDB ClusterSet должны иметь тот же набор учетных записей администратора InnoDB Cluster, что и основной кластер. Однако при создании реплицируемых кластеров не пытайтесь настроить учетные записи администратора InnoDB Cluster самостоятельно. Транзакции для создания учетных записей с
записываются в двоичный журнал основного кластера и автоматически реплицируются из основного кластера в реплицируемые кластеры во время процесса развертывания. При применении реплицируемого кластера этих транзакций он создает те же учетные записи на серверных узлах реплицируемого кластера. Если учетные записи уже существуют на сервере в реплицируемом кластере, это приводит к ошибке репликации, и сервер не может присоединиться к кластеру. Поэтому вам нужно подождать, пока они будут реплицированы.cluster.setupAdminAccount()Если транзакция для создания учетной записи администратора InnoDB Cluster произошла некоторое время назад в основном кластере, может потребоваться некоторое время для репликации транзакции и появления учетной записи в реплицируемом кластере. Выбор метода клонирования для реплицируемого кластера ускоряет процесс.
ПримечаниеЕсли основной InnoDB Cluster был настроен в версии до MySQL Shell 8.0.20, команда
могла быть использована с опциейcluster.setupAdminAccount()updateдля обновления разрешений учетной записи конфигурации сервера InnoDB Cluster. Это специальное использование команды, которое не записывается в двоичный журнал и не реплицируется в реплицируемые кластеры.По завершении развертывания InnoDB ClusterSet вы можете использовать
для создания дополнительных учетных записей администратора InnoDB Cluster для ClusterSet. Вы можете сделать это, подключившись к любому серверному узлу в развертывании InnoDB ClusterSet, как в основном кластере, так и в реплицируемом кластере. Транзакция для создания учетной записи маршрутизируется в основной кластер для выполнения, затем реплицируется на все серверные узлы в реплицируемых кластерах, где она создает учетную запись на всех из них.cluster.setupAdminAccount() - Учетные записи MySQL Router
-
Эти учетные записи используются MySQL Router для подключения к экземплярам серверов в InnoDB Cluster и в развертывании InnoDB ClusterSet. Вы можете настроить несколько таких учетных записей. Каждая учетная запись должна существовать на каждом серверном узле в InnoDB Cluster с одинаковым именем пользователя и паролем или сертификатом SSL, а также на каждом серверном узле каждого кластера в развертывании InnoDB ClusterSet.
Процесс создания учетной записи MySQL Router такой же, как для учетной записи администратора InnoDB Cluster, но с использованием команды
. Вы создаете учетные записи на одном серверном узле в основном кластере или используете уже существующие учетные записи, если основной InnoDB Cluster уже существовал, когда вы начали настройку развертывания InnoDB ClusterSet. Затем позвольте реплицируемым кластерам применить транзакции для создания учетных записей на их серверных узлах. Инструкции по созданию или обновлению учетной записи MySQL Router см. в разделе 7.2, «Настройка пользователя MySQL Router».cluster.setupRouterAccount()
© 2025 Oracle
Licensed under the GPLv2 License.