Spec-Zone.ru › MySQL Shell 9.2

8.4.2 Настройка производственных экземпляров для использования в InnoDB Cluster

AdminAPI предоставляет функцию dba.configureInstance(), которая проверяет, подходит ли экземпляр для использования в InnoDB Cluster, и настраивает экземпляр, если обнаруживает какие-либо параметры, несовместимые с InnoDB Cluster. Вы выполняете команду dba.configureInstance() для экземпляра, и она проверяет все настройки, необходимые для использования экземпляра в InnoDB Cluster. Если для экземпляра не требуются изменения конфигурации, нет необходимости изменять конфигурацию экземпляра, и вывод команды dba.configureInstance() подтверждает, что экземпляр готов для использования в InnoDB Cluster.

Если для обеспечения совместимости экземпляра с InnoDB Cluster требуются какие-либо изменения, отображается отчет о несовместимых параметрах, и вы можете разрешить команде внести изменения в файл параметров экземпляра. В зависимости от способа подключения MySQL Shell к экземпляру и версии MySQL, работающей на экземпляре, вы можете сделать эти изменения постоянными, сохранив их в файле параметров удаленного экземпляра, см. Раздел 6.2.3 «Сохранение настроек».

Синтаксис команды dba.configureInstance():

dba.configureInstance([instance][, options])

где instance — определение экземпляра, и options — словарь данных с дополнительными параметрами для настройки операции. Операция возвращает описательное текстовое сообщение о результате.

Определение instance содержит данные подключения к экземпляру. Например:

dba.configureInstance('user@example:3306')

Для получения дополнительной информации см. . Если целевой экземпляр уже принадлежит InnoDB Cluster, генерируется ошибка, и процесс завершается сбоем.

Словарь параметров может содержать следующее:

  • mycnfPath - путь к файлу параметров MySQL экземпляра. Обратите внимание, что InnoDB Cluster поддерживает только один файл параметров для серверных экземпляров и не поддерживает использование параметра для указания дополнительного файла параметров. Для любой операции AdminAPI, работающей с файлом параметров экземпляра, должен быть указан основной файл.

  • outputMycnfPath - альтернативный путь вывода для записи файла параметров MySQL экземпляра.

  • clusterAdmin - имя администратора InnoDB Cluster, которое необходимо создать. Поддерживается стандартный формат имени учетной записи MySQL. Поддерживаются идентификаторы или строки для имени пользователя и имени хоста. По умолчанию, если не указано иначе, предполагается, что входные данные — строка. См. Раздел 6.4 «Создание учетных записей пользователей для AdminAPI».

  • clusterAdminPassword - пароль для учетной записи администратора InnoDB Cluster, создаваемой с помощью clusterAdmin. Хотя вы можете указать его с помощью этого параметра, это потенциальный риск для безопасности. Если вы не указываете этот параметр, но указываете параметр clusterAdmin, вам будет предложено ввести пароль в интерактивном режиме.

  • restart - логическое значение, используемое для указания того, что необходимо выполнить удаленный перезапуск целевого экземпляра для завершения операции.

Хотя пароль подключения может быть включен в определение экземпляра, это небезопасно и не рекомендуется. Используйте MySQL Shell Раздел 4.4 «Подключаемый хранилище паролей» для безопасного хранения паролей экземпляров.

После выполнения команды dba.configureInstance() для экземпляра команда проверяет, подходят ли параметры экземпляра для использования в InnoDB Cluster. Отображается отчет, в котором указаны параметры, необходимые для InnoDB Cluster. Если для параметров экземпляра не требуется никаких изменений, вы можете использовать его в InnoDB Cluster и перейти к Разделу 8.4.3 «Создание InnoDB Cluster». Если параметры экземпляра не подходят для использования в InnoDB Cluster, команда dba.configureInstance() отображает параметры, которые требуют изменения. Перед настройкой экземпляра вам будет предложено подтвердить изменения, показанные в таблице со следующей информацией:

  • Variable - переменная конфигурации с неверным значением.

  • Current Value - текущее значение переменной конфигурации с неверным значением.

  • Required Value - требуемое значение переменной конфигурации.

Ваши дальнейшие действия зависят от того, поддерживает ли экземпляр сохранение параметров, см. Раздел 6.2.3 «Сохранение настроек». При выполнении команды dba.configureInstance() для экземпляра MySQL, на котором в настоящее время работает MySQL Shell (то есть локального экземпляра), выполняется попытка автоматической настройки экземпляра. При выполнении команды dba.configureInstance() для удаленного экземпляра, если экземпляр поддерживает автоматическое сохранение изменений конфигурации, вы можете выбрать это.

Как правило, после того, как dba.configureInstance() настроит файл параметров, перезапуск экземпляра не требуется, но для некоторых параметров может потребоваться перезапуск. Эта информация отображается в отчете, сгенерированном после выполнения команды dba.configureInstance(). Если экземпляр поддерживает оператор , MySQL Shell может остановить и затем запустить экземпляр. Это гарантирует, что изменения, внесенные в файл параметров экземпляра, будут обнаружены mysqld. Для получения дополнительной информации см. .

Примечание

После выполнения оператора текущее подключение к экземпляру теряется. Если включена автоматическая повторная попытка подключения, соединение восстанавливается после перезапуска сервера. В противном случае соединение необходимо восстановить вручную.

Метод dba.configureInstance() проверяет наличие подходящего пользователя для использования в кластере, который используется для подключений между членами кластера, см. Раздел 6.4 «Создание учетных записей пользователей для AdminAPI».

Если вы не укажете пользователя для администрирования кластера, в интерактивном режиме мастер позволит вам выбрать один из следующих вариантов:

  • включить удаленные подключения для пользователя root, что не рекомендуется в производственной среде

  • создать нового пользователя

  • нет автоматической настройки, в этом случае вам необходимо создать пользователя вручную

Подсказка

Если экземпляр имеет , вам может потребоваться подтвердить, что AdminAPI может установить . См. Настройка экземпляра в режиме супер-только чтение для получения дополнительной информации.

Настройка экземпляра в режиме супер-только чтение

Всякий раз, когда Group Replication останавливается, переменная устанавливается в значение ON для предотвращения записи в экземпляр. При попытке использовать такой экземпляр с помощью следующих команд AdminAPI вам предоставляется выбор установки для экземпляра:

  • dba.configureInstance()

  • dba.dropMetadataSchema()

Когда AdminAPI сталкивается с экземпляром, у которого установлено значение , в интерактивном режиме вам предоставляется выбор установки значения . Например:

mysql-js> var myCluster = dba.dropMetadataSchema()
Are you sure you want to remove the Metadata? [y/N]: y
The MySQL instance at 'localhost:3310' currently has the super_read_only system
variable set to protect it from inadvertent updates from applications. You must
first unset it to be able to perform any changes to this instance.
For more information see:
https://dev.mysql.com/doc/refman/en/server-system-variables.html#sysvar_super_read_only.

Do you want to disable super_read_only and continue? [y/N]: y

Metadata Schema successfully removed.

Отображается количество текущих активных сеансов подключения к экземпляру. Вы должны убедиться, что никакие приложения не могут случайно записывать данные в экземпляр. Ответив на запрос y, вы подтверждаете, что AdminAPI может записывать в экземпляр. Если указано более одной открытой сессии подключения к экземпляру, будьте осторожны, прежде чем разрешать AdminAPI установить значение .

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-shell-9.2-en/configuring-production-instances.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API