7.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 и перейти к Раздел 7.4.3, «Создание кластера InnoDB». Если параметры экземпляра не подходят для использования с 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.