4.3.2.1 mysqlrouter — Параметры командной строки
MySQL Router принимает параметры командной строки, которые передаются в mysqlrouter для изменения его поведения или для инициализации роутера на основе кластера InnoDB.
При запуске роутера можно необязательно использовать --config для указания местоположения основного файла конфигурации (в противном случае используется значение по умолчанию) и --extra-config для дополнительного файла конфигурации.
Параметры командной строки инициализации влияют на создаваемые файлы и каталоги, которые используются при запуске MySQL Router.
Сводка параметров mysqlrouter
Таблица 4.2 Общие параметры
| Имя параметра | Описание |
|---|---|
| --conf-set-option | Устанавливает значение для параметра сгенерированной конфигурации во время инициализации |
| --config | Считывает параметры конфигурации из указанного файла |
| --core-file | Записывает дамп памяти при аварийном завершении работы роутера |
| --extra-config | Считывает этот файл после считывания файлов конфигурации из стандартных расположений или файлов, указанных параметром --config |
| --help | Выводит справку и завершает работу |
| --pid-file | Местоположение для хранения файла PID |
| --user | Запускает mysqlrouter от имени пользователя с заданным именем пользователя или числовым идентификатором пользователя |
| --version | Выводит информацию о версии и завершает работу |
Таблица 4.3 Параметры инициализации
| Имя параметра | Описание |
|---|---|
| --account | Аккаунт MySQL пользователя, используемый роутером после инициализации |
| --account-create | Поведение при создании аккаунта в ходе инициализации |
| --account-host | Шаблон хоста, используемый для созданных в ходе инициализации аккаунтов |
| --bootstrap | Инициализировать и настроить роутер для работы с кластером MySQL InnoDB |
| --bootstrap-socket | Подключиться к серверу метаданных MySQL через сокет Unix-домена, используется совместно с параметром --bootstrap |
| --conf-base-port | Базовый порт для использования в портах прослушивания роутера |
| --conf-bind-address | IP-адрес интерфейса, к которому должны привязываться сокеты прослушивания роутера |
| --conf-skip-tcp | Отключить привязку TCP-порта для входящих подключений |
| --conf-target-cluster | Устанавливает опцию target_cluster метаданных для типа кластера |
| --conf-target-cluster-by-name | Устанавливает опцию target_cluster метаданных для определенного имени кластера |
| --conf-use-gr-notifications | Включает уведомления Group Replication |
| --conf-use-sockets | Использовать сокеты Unix-домена |
| --connect-timeout | Количество секунд до того, как попытки подключения к серверу метаданных считаются зависшими |
| --directory | Создаёт автономный каталог для новой инстанции роутера |
| --disable-rest | Отключает генерацию деталей конфигурации REST API в сгенерированный файл mysqlrouter.conf |
| --disable-rw-split | Отключает генерацию деталей конфигурации разделения чтение/запись в сгенерированный файл mysqlrouter.conf |
| --force | Принудительно переконфигурировать, возможно, существующую инстанцию роутера |
| --force-password-validation | При автоматическом создании учетной записи пользователя не пропускать механизм validate_password |
| --https-port | Порт HTTP-сервера API REST MySQL Router |
| --master-key-reader | Скрипт, возвращающий мастер-ключ в стандартный вывод |
| --master-key-writer | Скрипт, считывающий мастер-ключ из стандартного ввода |
| --name | Присваивает символьное имя для инстанции роутера |
| --password-retries | Количество попыток, используемых для генерации пароля пользователя Router |
| --read-timeout | Количество секунд до того, как операции чтения на сервере метаданных считаются зависшими |
| --report-host | Хост роутера; переопределяет автоматическое определение |
| --strict | Включает строгий режим инициализации |
Таблица 4.4 Параметры SSL
| Имя параметра | Описание |
|---|---|
| --client-ssl-ca | Путь к файлу сертификата Удостоверяющего центра (CA) в формате PEM |
| --client-ssl-capath | Путь к каталогу, содержащему файлы сертификатов доверенного сертификационного центра SSL (CA) в формате PEM. |
| --client-ssl-cert | Путь к файлу сертификата открытого ключа SSL в формате PEM, используемому для шифрования соединений клиент-маршрутизатор |
| --client-ssl-cipher | Какие шифры разрешены между клиентом и MySQL Router, по умолчанию используется безопасный список шифров SSL |
| --client-ssl-crl | Путь к файлу, содержащему списки отзыва сертификатов в формате PEM |
| --client-ssl-crlpath | Путь к каталогу, содержащему файлы списков отзыва сертификатов в формате PEM |
| --client-ssl-curves | Какие кривые разрешены между клиентом и MySQL Router, по умолчанию используется безопасный список кривых SSL |
| --client-ssl-dh-params | Имя файла параметров DH. По умолчанию не задано |
| --client-ssl-key | Имя файла закрытого ключа SSL в формате PEM, используемого для шифрования соединений клиент-маршрутизатор |
| --client-ssl-mode | Управляет тем, должны ли соединения от клиента к MySQL Router быть зашифрованы, по умолчанию PREFERRED, если не задано |
| --server-ssl-ca | Путь к файлу сертификата Удостоверяющего центра (CA) в формате PEM |
| --server-ssl-capath | Путь к каталогу, содержащему файлы сертификатов доверенного сертификационного центра SSL (CA) в формате PEM. |
| --server-ssl-cipher | Шифр SSL для сервера |
| --server-ssl-crl | Путь к файлу, содержащему списки отзыва сертификатов в формате PEM |
| --server-ssl-crlpath | Путь к каталогу, содержащему файлы списков отзыва сертификатов в формате PEM |
| --server-ssl-curves | Кривые SSL для сервера |
| --server-ssl-mode | Управляет тем, должны ли соединения от маршрутизатора к серверу быть зашифрованы. |
| --server-ssl-verify | Проверка сертификатов SSL, представленных сервером маршрутизатору |
| --ssl-ca | Путь к файлу сертификационного центра (CA) для проверки сертификата сервера |
| --ssl-capath | Каталог, содержащий файлы сертификатов доверенного сертификационного центра SSL |
| --ssl-cert | Сертификат SSL стороны клиента для обеспечения аутентификации клиента во время инициализации |
| --ssl-cipher | Список шифров SSL, разделённых двоеточием, которые разрешены, если включен SSL |
| --ssl-crl | Путь к файлу списка отзыва сертификатов SSL для использования при проверке сертификата сервера |
| --ssl-crlpath | Путь к каталогу, содержащему файлы списков отзыва сертификатов SSL для использования при проверке сертификата сервера |
| --ssl-key | Закрытый ключ SSL для обеспечения аутентификации клиента во время инициализации |
| --ssl-mode | Требуемое состояние безопасности при подключении к серверу метаданных во время инициализации и в обычной работе. Аналогично --ssl-mode в mysql-клиенте |
| --tls-version | Список версий TLS, разделённых запятыми, для запроса, если включен SSL |
Таблица 4.5 Параметры служб Windows
| Имя параметра | Описание |
|---|---|
| --clear-all-credentials | Очистить все сохранённые учётные данные |
| --install-service | Установить MySQL Router как службу и настроить её на автоматический запуск при перезагрузке Windows; имя службы по умолчанию MySQLRouter (только Windows) |
| --install-service-manual | Установить MySQL Router как службу, которую можно запускать вручную; имя службы по умолчанию MySQLRouter (только Windows) |
| --remove-credentials-section | Удалить учётные данные раздела |
| --remove-service | Удалить MySQL Router как службу Windows; имя службы по умолчанию MySQLRouter |
| --service | Запустить MySQL Router как службу Windows |
| --update-credentials-section | Обновить учётные данные раздела |
Описание параметров mysqlrouter
-
--version,-VФормат командной строки --version , -VОтображает номер версии и связанную информацию о приложении, а затем завершается. Например:
$>
mysqlrouter --versionMySQL Router v8.4.4 on Linux (64-bit) (GPL community edition) -
--help,-?Формат командной строки --help , -?Отображает справку и информационную информацию, а затем завершается.
Опция
--helpимеет дополнительное преимущество. Наряду с объяснением каждой опции, опция--helpтакже отображает пути, используемые для поиска файла конфигурации, а также несколько стандартных путей. Следующий фрагмент вывода--helpпоказывает пример с машины Ubuntu 16.04:$>
mysqlrouter --help... Start MySQL Router. Configuration read from the following files in the given order (enclosed in parentheses means not available for reading): (/etc/mysqlrouter/mysqlrouter.conf) /home/philip/.mysqlrouter.conf Plugin Path: /usr/lib/x86_64-linux-gnu/mysqlrouter Default Log Directory: /var/log/mysqlrouter Default Persistent Data Directory: /var/lib/mysqlrouter Default Runtime State Directory: /run/mysqlrouter Usage: mysqlrouter [-V|--version] [-?|--help] ...Раздел конфигурации показывает порядок путей, которые могут быть использованы для чтения файла конфигурации. В данном случае доступен только второй файл.
-
--bootstrap,URI-BURIФормат командной строки --bootstrap URI, -B URIТип Строка Основная опция для выполнения инициализации MySQL Router путём подключения к серверу метаданных InnoDB Cluster по предоставленному URI. MySQL Router настраивает себя на основе информации, полученной от сервера метаданных InnoDB Cluster. Если необходимо, запрашивается пароль. Если имя пользователя не указано в URI, используется имя пользователя по умолчанию «root». См. для получения информации об использовании пути для указания экземпляра сервера.
ПримечаниеХотя
--bootstrapпринимает URI для TCP/IP подключений, использование опции--bootstrap-socketс именем локального сокета Unix заменяет часть «хост:порт» URI, переданного опции--bootstrap, на сокет на той же машине.По умолчанию процесс инициализации выполняет системную настройку MySQL Router. Только один экземпляр MySQL Router может быть настроен для системной работы. Системный экземпляр MySQL Router имеет имя «system». Если требуются дополнительные экземпляры, используйте опцию
--directoryдля создания автономных установок MySQL Router.URI: экземпляр сервера из InnoDB Cluster для извлечения метаданных. Если предоставленныйURIявляется экземпляром только для чтения, MySQL Router автоматически переподключается к экземпляру для чтения-записи в InnoDB Cluster, чтобы он мог зарегистрировать MySQL Router.Если файл конфигурации уже существует при запуске MySQL Router с
--bootstrap, существующиеrouter_idв этом файле повторно используются, и происходит процесс перенастройки. Файл конфигурации генерируется заново, и учётная запись сервера метаданных MySQL Router пересоздаётся, хотя и с тем же именем.Во время процесса перенастройки все изменения, внесённые в существующий файл конфигурации, отбрасываются. Чтобы настроить файл конфигурации и сохранить возможность автоматической перенастройки (инициализации), вы можете использовать опцию командной строки
--extra-configдля указания дополнительного файла конфигурации, который читается после основного файла конфигурации. Эти параметры конфигурации используются, поскольку этот дополнительный файл конфигурации загружается после основного файла конфигурации.Процесс инициализации создаёт новую учётную запись пользователя MySQL с случайным паролем для использования этим конкретным экземпляром MySQL Router. Эта учётная запись используется MySQL Router при подключении к серверу метаданных и кластеру InnoDB для получения информации о его текущем состоянии. Для подробной информации об этом пользователе, включая то, как хранится его пароль и необходимые привилегии MySQL, см. документацию для
MySQL user option.Сгенерированный файл конфигурации называется
mysqlrouter.conf, и его расположение зависит от типа настраиваемого экземпляра, системы и пакета. Для системных установок сгенерированный файл конфигурации добавляется в системный каталог конфигурации, например, в/etcили%PROGRAMDATA%\MySQL\MySQL Router\. Выполнениеmysqlrouter --helpотобразит это расположение.Опция
--userтребуется, если выполняется инициализация с пользователем суперпользователя (uid=0). Хотя не рекомендуется, принудительное использование суперпользователя возможно, передав его имя в качестве аргумента, например, --user=root.Минимальные привилегии GRANT, необходимые для выполнения
--bootstrap:GRANT CREATE USER ON *.* TO '
bootstrapuser'@'%' WITH GRANT OPTION; GRANT SELECT, INSERT, UPDATE, DELETE, EXECUTE ON mysql_innodb_cluster_metadata.* TO 'bootstrapuser'@'%'; GRANT SELECT ON mysql.user TO 'bootstrapuser'@'%'; GRANT SELECT ON performance_schema.replication_group_members TO 'bootstrapuser'@'%'; GRANT SELECT ON performance_schema.replication_group_member_stats TO 'bootstrapuser'@'%'; GRANT SELECT ON performance_schema.global_variables TO 'bootstrapuser'@'%';Использование
--bootstrapдобавляет значения по умолчанию в сгенерированный файл конфигурации MySQL Router, и некоторые из этих значений по умолчанию зависят от других условий. Ниже приведены некоторые условия, влияющие на сгенерированные значения по умолчанию, где значение по умолчанию определяется путём передачи--bootstrapбез дополнительных аргументов.Таблица 4.6. Условия, влияющие на значения по умолчанию --bootstrap
Условие Описание --conf-base-portИзменяет сгенерированные значения
bind_portдля каждого типа подключения.По умолчанию сгенерированные значения
bind_portследующие: для классического протокола — чтение-запись 6446 и чтение-только 6447, а для протокола X — чтение-запись 6448 и чтение-только 6449.Установка
--conf-base-portв 0 изменяет значения по умолчаниюbind_portна следующие значения по умолчанию: для классического протокола — чтение-запись 6446 и чтение-только 6447, а для протокола X — чтение-запись 64460 и чтение-только 64470.--conf-use-socketsВставляет определения socketдля каждого типа подключения.--conf-skip-tcpОпределения TCP/IP подключения не определены. --directoryВлияет на все пути к файлам, а также генерирует дополнительные файлы. Другие Этот список не является исчерпывающим, другие опции и условия также влияют на сгенерированные значения.
-
--bootstrap-socketsocket_nameФормат командной строки --bootstrap-socket socket_nameЗависит от платформы Linux Используется совместно с
--bootstrapдля инициализации с использованием локального сокета Unix вместо TCP/IP. Значение--bootstrap-socketзаменяет часть «хост:порт» в определении--bootstrapна назначенное имя сокета для подключения к серверу метаданных MySQL с помощью сокетов Unix. Это экземпляр MySQL, который инициализируется, и этот экземпляр должен быть на той же машине, если используются сокеты. Для получения дополнительной информации о том, как работает инициализация, см.--bootstrap.Эта опция отличается от опции командной строки
--conf-use-sockets, которая устанавливает параметр конфигурацииsocketво время процесса инициализации.Эта опция недоступна в Windows.
-
Формат командной строки --core-file[={0|1}]Тип Boolean Значение по умолчанию 0Записать файл ядра, если mysqlrouter завершается аварийно. Имя и расположение файла ядра зависят от системы. В Linux файл ядра с именем
core.записывается в текущий рабочий каталог процесса.pidpidпредставляет собой идентификатор процесса серверного процесса. В macOS файл ядра с именемcore.записывается в каталогpid/cores, если у процесса есть правоcom.apple.security.get-task-allow. В Solaris используйте команду coreadm для указания места записи файла ядра и его имени. В Windows дамп памяти с именемmysqlrouter.записывается в текущий рабочий каталог процесса.{pid}.dmp -
--directory,dir_path-ddir_pathФормат командной строки --directory dir_path, -d dir_pathТип String Указывает, что автономная установка MySQL Router будет создана в указанном каталоге, вместо настройки системного экземпляра маршрутизатора. Это также позволяет создавать несколько экземпляров маршрутизатора в одной системе.
Структура автономного каталога для Router:
$path/start.sh $path/stop.sh $path/mysqlrouter.pid $path/mysqlrouter.conf $path/mysqlrouter.key $path/run $path/run/keyring $path/data $path/log $path/log/mysqlrouter.log
Если указан этот параметр, файл keyring хранится в каталоге состояния времени выполнения этого экземпляра, в
run/в указанном каталоге, а не в системном каталоге состояния времени выполнения.Если также включен параметр
--conf-use-sockets, то сгенерированные файлы сокетов также добавляются в этот каталог. -
Формат командной строки --master-key-writer file_pathТип String Этот необязательный параметр загрузки принимает сценарий, который считывает главный ключ из STDIN. Он также использует переменную среды ROUTER_ID, установленную MySQL Router перед вызовом скрипта
master-key-writer.Параметры
master-key-writerиmaster-key-readerдолжны использоваться вместе, и их использование означает, что параметрmaster_key_fileне должен быть определен вmysqlrouter.conf, так как главный ключ не записывается в файл главного ключаmysqlrouter.key.Он также записывается в сгенерированный файл конфигурации MySQL Router как параметр
master-key-writer[DEFAULT].Пример содержимого bash-скрипта с именем
writer.sh, используемого в нашем примере:#!/bin/bash KID_=$(keyctl padd user ${ROUTER_ID} @us <&0)Пример использования:
$> mysqlrouter --bootstrap=127.0.0.1:3310 --master-key-reader=./reader.sh --master-key-writer=./writer.sh
Это также влияет на сгенерированный
mysqlrouter.conf, например:[DEFAULT] ... master-key-reader=reader.sh master-key-writer=writer.sh
-
Формат командной строки --master-key-reader file_pathТип String Этот необязательный параметр загрузки принимает сценарий, который записывает главный ключ в STDOUT. Он также использует переменную среды ROUTER_ID, установленную MySQL Router перед вызовом скрипта
master-key-reader.Параметры
master-key-readerиmaster-key-writerдолжны использоваться вместе, и их использование означает, что параметрmaster_key_fileне должен быть определен вmysqlrouter.conf, так как главный ключ не записывается в файл главного ключаmysqlrouter.key, а вместо этого используется значение, предоставленное скриптом этого параметра.Он также записывается в сгенерированный файл конфигурации MySQL Router как параметр
master-key-reader[DEFAULT].Пример содержимого bash-скрипта с именем
reader.sh, используемого в нашем примере:#!/bin/bash KID_=$(keyctl search @us user ${ROUTER_ID} 2>/dev/null) if [ ! -z $KID_ ]; then keyctl pipe $KID_ fiПример использования:
$> mysqlrouter --bootstrap=127.0.0.1:3310 --master-key-reader=./reader.sh # Or, multiple hosts--master-key-writer=./writer.sh
Это также влияет на сгенерированный
mysqlrouter.conf, например:[DEFAULT] ... master-key-reader=reader.sh master-key-writer=writer.sh
-
Формат командной строки --strictТип String Включает строгий режим, который, например, заставляет проверку проверки пользователя загрузки
--accountостановить процесс загрузки, а не только выводить предупреждение и продолжать, если предоставленный пользователь не проходит проверку. -
Формат командной строки --account usernameТип String Параметр загрузки для указания пользователя MySQL, который будет использоваться, который либо повторно использует существующую учетную запись пользователя MySQL, либо создает ее; поведение контролируется связанным параметром
--account-create.С
--accountиспользование отдает предпочтение простоте управления над простотой развертывания, поскольку несколько маршрутизаторов могут совместно использовать одну и ту же учетную запись, а имя пользователя и пароль определяются вручную, а не генерируются автоматически.Установка этого параметра вызывает запрос пароля для этой учетной записи независимо от того, доступен ли пароль в keyring.
Загрузка без передачи
--accountне пересоздает существующую учетную запись сервера MySQL.Использование этого параметра предполагает, что пользователь имеет достаточные права доступа для Router, поскольку процесс загрузки не пытается добавить недостающие гранты к существующим учетным записям. Процесс загрузки проверяет разрешения и выводит информацию о неудачной проверке в консоль. Процесс загрузки продолжается, несмотря на эти неудачные проверки, если только не используется дополнительный параметр
--strict. Пример необходимых разрешений:GRANT USAGE ON *.* TO `theuser`@`%` GRANT SELECT, EXECUTE ON `mysql_innodb_cluster_metadata`.* TO `theuser`@`%` GRANT INSERT, UPDATE, DELETE ON `mysql_innodb_cluster_metadata`.`routers` TO `theuser`@`%` GRANT INSERT, UPDATE, DELETE ON `mysql_innodb_cluster_metadata`.`v2_routers` TO `theuser`@`%` GRANT SELECT ON `performance_schema`.`global_variables` TO `theuser`@`%` GRANT SELECT ON `performance_schema`.`replication_group_member_stats` TO `theuser`@`%` GRANT SELECT ON `performance_schema`.`replication_group_members` TO `theuser`@`%`
Пароль не принимается из командной строки. Например, передача "foo:bar" предполагает, что "foo:bar" является желаемым именем пользователя, а не пользователем foo с паролем bar.
-
Формат командной строки --account-create behaviorТип String Значение по умолчанию if-not-existsДопустимые значения if-not-existsalwaysneverУкажите политику создания учетной записи, чтобы защитить от случайной загрузки с неправильной учетной записью пользователя. Возможные значения:
if-not-exists(по умолчанию): Загрузка в любом случае; повторно использовать учетную запись, если она существует, иначе создать ее.always: Загрузка только если учетная запись еще не существует; и создать ее.never: Загрузка только если учетная запись уже существует; и повторно использовать ее.
Этот параметр требует, чтобы также использовался параметр
--account, и чтобы--account-hostне использовался. -
Формат командной строки --account-host host_patternТип String Значение по умолчанию %Шаблон хоста, используемый для учетных записей, созданных MySQL Router во время процесса загрузки. Это необязательный параметр, по умолчанию '%'.
Передавайте этот параметр несколько раз, чтобы определить несколько шаблонов, в этом случае сгенерированные учетные записи MySQL используют один и тот же пароль.
ПримечаниеRouter не выполняет проверку правильности и не гарантирует, что шаблон разрешает Router подключаться.
ПримечаниеЗагрузка повторно использует существующие учетные записи Router путем удаления и пересоздания пользователя, и этот процесс пересоздания пользователя применяется ко всем хостам.
Примеры:
# One host $> mysqlrouter --bootstrap localhost:3310 --account-host host1 # Or, multiple hosts $> mysqlrouter --bootstrap localhost:3310 --account-host host1 --account-host host2 --account-host host3
-
Формат командной строки --conf-use-socketsСпецифика платформы Linux Включает локальные сокеты Unix domain.
Этот параметр используется при загрузке, и его включение добавляет параметр
socketв генерируемый конфигурационный файл.Имя генерируемого файла сокета зависит от параметра
protocol. При включенном классическом протоколе файл называетсяmysql.sockдля соединений чтения-записи иmysqlro.sockдля соединений только для чтения. При включенном протоколе X файл называетсяmysqlx.sockдля соединений чтения-записи иmysqlxro.sockдля соединений только для чтения.Этот параметр недоступен в Windows.
-
Формат командной строки --conf-use-gr-notificationsВключает параметр
use_gr_notifications[metadata_cache] во время загрузки. При включении маршрутизатор асинхронно уведомляется о большинстве изменений кластера. См.use_gr_notificationsдля получения дополнительной информации. Кроме того, использование этого параметра устанавливаетttl=60 иauth_cache_refresh_interval=60. -
Формат командной строки --pid-file pathТип String Устанавливает расположение файла PID. Это можно сделать тремя различными способами (в порядке приоритета): этот параметр командной строки
--pid-file, установкаpid_fileв конфигурационном файле маршрутизатора или определение переменной средыROUTER_PID.Если указан
--bootstrap, то установка --pid-file приводит к сбою маршрутизатора. Это в отличие от ROUTER_PID и параметра конфигурации pid_file, которые игнорируются, если указан --bootstrap.Если
--bootstrapне указан, то следующие причины приводят к сбою маршрутизатора: --pid-file уже существует, pid_file или ROUTER_PID установлены, но пусты, или если маршрутизатор не может записать файл PID. -
Формат командной строки --report-host hostnameТип String Дополнительно определяет имя хоста маршрутизатора, вместо того чтобы полагаться на автоматическое обнаружение для определения внешне видимого имени хоста, зарегистрированного в метаданных во время процесса загрузки.
Маршрутизатор не проверяет и не подтверждает доступность указанного имени хоста, но использует RFC 1123 для проверки имен хостов и RFC 2181 для проверки адресов.
Указанное имя хоста записывается в поле host_name таблицы mysql_innodb_cluster_metadata.hosts в хранилище метаданных кластера MySQL InnoDB.
-
Формат командной строки --conf-skip-tcpСпецифика платформы Linux Пропускает конфигурацию TCP-порта для прослушивания входящих соединений. См. также
--conf-use-sockets.Этот параметр недоступен в Windows.
-
Формат командной строки --conf-base-port port_numТип Integer Значение по умолчанию 0Базовое (первое) значение, используемое для прослушивающих TCP-портов путем установки
bind_portдля каждого загруженного маршрута.Это значение используется для классического маршрута чтения-записи, и каждый дополнительный выделенный порт увеличивается на единицу. Порядок портов установлен как классический чтение-запись / только чтение, а затем x чтение-запись / только чтение.
Установка
--conf-base-portв 0 изменяет значенияbind_portпо умолчанию на следующие значения по умолчанию: для классического протокола чтение-запись использует 6446, а только чтение использует 6447, а для протокола X чтение-запись использует 64460, а только чтение использует 64470.Пример использования:
# Example without --conf-base-port $> mysqlrouter --bootstrap root@localhost:3310 ... Classic MySQL protocol connections to cluster 'devCluster': - Read/Write Connections: localhost:6446 - Read/Only Connections: localhost:6447 X protocol connections to cluster 'devCluster': - Read/Write Connections: localhost:6448 - Read/Only Connections: localhost:6449 # Example demonstrating --conf-base-port set to 0 $> mysqlrouter --bootstrap root@localhost:3310 --conf-base-port 0 ... Classic MySQL protocol connections to cluster 'devCluster': - Read/Write Connections: localhost:6446 - Read/Only Connections: localhost:6447 X protocol connections to cluster 'devCluster': - Read/Write Connections: localhost:64460 - Read/Only Connections: localhost:64470
-
Формат командной строки --conf-bind-address addressТип String Значение по умолчанию 0.0.0.0Изменяет значение
bind_address, установленное--bootstrapв генерируемый конфигурационный файл маршрутизатора. По умолчанию загрузка устанавливаетbind_address=0.0.0.0для каждого маршрута, и этот параметр изменяет это значение.ПримечаниеЗначение
bind_addressпо умолчанию — 127.0.0.1, еслиbind_addressне определено. -
Формат командной строки --read-timeout num_secondsТип Integer Значение по умолчанию 30Количество секунд, прежде чем операции чтения на сервере метаданных будут считаться истекшими по времени.
Это влияет на операции чтения как во время процесса загрузки, так и на обычные операции MySQL Router, устанавливая связанный параметр
read_timeoutв сгенерированномmysqlrouter.conf.Этот параметр установлен в пространстве имен
[DEFAULT]. -
Формат командной строки --connect-timeout num_secondsТип Integer Значение по умолчанию 30Количество секунд, прежде чем попытки соединения с сервером метаданных будут считаться истекшими по времени.
Это влияет на соединения как во время процесса загрузки, так и на обычные операции MySQL Router, устанавливая связанный параметр
connect_timeoutв сгенерированномmysqlrouter.conf.Существует два варианта connect_timeout. Вариант сервера метаданных определяется в пространстве имен
[DEFAULT], а вариант сервера MySQL определяется в пространстве имен[routing]. -
--user {,user_name|user_id}-u {user_name|user_id}Формат командной строки --user {user_name|user_id}, -u {user_name|user_id}Специфика платформы Linux Тип String Запустите mysqlrouter от имени пользователя с именем
user_nameили числовым идентификатором пользователяuser_id. “Пользователь” в этом контексте относится к учетной записи системного входа, а не к пользователю MySQL, указанному в таблицах предоставления прав. При загрузке все сгенерированные файлы принадлежат этому пользователю, а это также устанавливает связанный параметрuser.Эта системная
userопределена в конфигурационном файле в пространстве имен[DEFAULT]. Для получения дополнительной информации см. документацию по параметруuser, который конфигурирует--user.Параметр
--userобязателен, если выполняется загрузка от имени суперпользователя (uid=0). Хотя это не рекомендуется, принудительное использование суперпользователя возможно путем передачи его имени в качестве аргумента, например --user=root.Этот параметр недоступен в Windows.
-
Формат командной строки --name router_nameТип String Значение по умолчанию systemПри начальной загрузке указывает символьное имя для автономного экземпляра маршрутизатора. Эта опция необязательна и используется с
--directory. При создании нескольких экземпляров имена должны быть уникальными. -
Формат командной строки --force-password-validationСпецифично для платформы Linux По умолчанию MySQL Router пропускает механизм validate_password сервера MySQL и вместо этого Router генерирует и использует ВЕСЬМА надёжный пароль на основе известных настроек validate_password по умолчанию. Это происходит потому, что validate_password может быть настроен пользователем, и Router не может учитывать необычные пользовательские настройки.
Эта опция гарантирует, что проверка пароля (validate_password) не пропускается для сгенерированных паролей, и по умолчанию она отключена.
-
--password-retriesnum_retriesФормат командной строки --password-retries num_retriesТип Integer Значение по умолчанию 20Минимальное значение 1Максимальное значение 10000Указывает количество попыток генерации пароля MySQL Router при создании учетной записи пользователя с правилами проверки пароля. Значение по умолчанию — 20. Допустимый диапазон — от 1 до 10000.
Наиболее вероятная причина сбоя — это пользовательские настройки validate_password с необычными требованиями, такими как минимальная длина в 50 символов. В случае сбоя либо
--force-password-validationустанавливается в true, либо плагинmysql_native_passwordMySQL Server отключен (этот плагин позволяет обойти проверку). -
Формат командной строки --forceПринудительно выполнить переконфигурацию ранее настроенного экземпляра маршрутизатора на хосте.
-
Формат командной строки --ssl-mode modeТип String Значение по умолчанию PREFERREDДопустимые значения PREFERREDDISABLEDREQUIREDVERIFY_CAVERIFY_IDENTITYРежим SSL-соединения для использования во время загрузки и нормальной работы при подключении к серверу метаданных. Аналогично в клиенте mysql.
Во время загрузки все соединения с серверами метаданных, создаваемые Router, будут использовать указанные параметры SSL. Если
ssl_modeне указан в конфигурации, он будет установлен по умолчанию в PREFERRED. В нормальном режиме работы после запуска Router его плагин Metadata Cache будет считывать и учитывать все настроенные параметры SSL.При установке значения, отличного от значения по умолчанию (PREFERRED), запись
ssl_modeвставляется в раздел[metadata_cache]в сгенерированном конфигурационном файле.Доступные значения: DISABLED, PREFERRED, REQUIRED, VERIFY_CA и VERIFY_IDENTITY. PREFERRED — значение по умолчанию. Как и в клиенте mysql, это значение нечувствительно к регистру.
Эквивалент конфигурационного файла документирован отдельно по адресу
ssl_mode. -
Формат командной строки --ssl-cert file_pathТип String Значение по умолчанию Имя пути к файлу открытого ключа сертификата SSL в формате PEM. Используется для облегчения аутентификации на стороне клиента во время процесса загрузки. Это напрямую соответствует и использует функциональность параметра клиента MySQL.
Как и
--ssl-key, этот параметр используется только во время загрузки, которая использует учетную запись root. Это полезно, когда учетная запись root была создана с REQUIRE X509, и поэтому вход в систему от имени root требует, чтобы клиент прошел аутентификацию. -
Формат командной строки --ssl-key file_pathТип String Имя пути к файлу закрытого ключа SSL в формате PEM. Используется для облегчения аутентификации на стороне клиента во время процесса загрузки. Это напрямую соответствует и использует функциональность параметра клиента MySQL.
Как и
--ssl-cert, этот параметр используется только во время процесса загрузки, который использует учетную запись root. Это полезно, когда учетная запись root была создана с REQUIRE X509, и поэтому вход в систему от имени root требует, чтобы клиент прошел аутентификацию. -
Формат командной строки --ssl-cipher ciphersТип String Значение по умолчанию Список шифров SSL, разделенных двоеточием (":"), которые разрешено использовать, если SSL включен.
-
Формат командной строки --tls-version versionsТип String Значение по умолчанию Список версий TLS, разделенных запятыми (","), которые необходимо запросить, если SSL включен.
-
Формат командной строки --ssl-ca file_pathТип String Значение по умолчанию Путь к файлу SSL CA для проверки сертификата сервера.
-
Формат командной строки --ssl-capath dir_pathТип String Значение по умолчанию Путь к каталогу, содержащему файлы SSL CA для проверки сертификата сервера.
-
Формат командной строки --ssl-crl file_pathТип String Значение по умолчанию Путь к файлу SSL CRL, используемому при проверке сертификата сервера.
-
Формат командной строки --ssl-crlpath dir_pathТип String Значение по умолчанию Путь к каталогу, содержащему файлы SSL CRL, используемые при проверке сертификата сервера.
-
Формат командной строки --client-ssl-modeТип String Значение по умолчанию PREFERREDДопустимые значения PREFERREDDISABLEDPASSTHROUGHREQUIREDРежим SSL-соединения для использования во время загрузки и нормальной работы при подключении между MySQL Router и клиентом.
Во время загрузки все соединения с клиентами, устанавливаемые маршрутизатором, будут использовать указанные параметры SSL. Если
client_ssl_modeне указан в конфигурации, по умолчанию используетсяPREFERRED.Эквивалент файла конфигурации документируется отдельно по адресу
client_ssl_mode. -
Формат командной строки --client-ssl-cert file_pathТип String Значение по умолчанию Имя пути к файлу сертификата открытого ключа SSL в формате PEM. Он используется для облегчения аутентификации на стороне клиента во время процесса загрузки.
Как и
--client-ssl-key, этот параметр используется только во время загрузки, которая использует учетную запись root. Это полезно, когда учетная запись root была создана с REQUIRE X509, и поэтому для входа в систему как root требуется, чтобы клиент аутентифицировал себя. -
Формат командной строки --client-ssl-curvesТип String По умолчанию используется защищенный список кривых SSL. Сформируйте эту строку как список имен кривых, разделенных двоеточием.
-
Формат командной строки --client-ssl-key file_pathТип String Имя пути к файлу закрытого ключа SSL в формате PEM. Он используется для облегчения аутентификации на стороне клиента во время процесса загрузки.
Как и
--client-ssl-cert, этот параметр используется только во время процесса загрузки, который использует учетную запись root. Это полезно, когда учетная запись root была создана с REQUIRE X509, и поэтому для входа в систему как root требуется, чтобы клиент аутентифицировал себя. -
Формат командной строки --client-ssl-cipherТип String Список шифров SSL, разделенных двоеточием (":"), которые разрешено использовать, если включен SSL.
-
Формат командной строки --client-ssl-dh-params=filepathТип String Имя файла параметров DH. Если указано и не пусто, параметры DH из этого файла используются вместо внутренних параметров DH по умолчанию. Отформатируйте файл параметров DH в формате PEM.
-
Формат командной строки --client-ssl-ca file_pathТип String Значение по умолчанию Путь к файлу SSL CA для проверки сертификата сервера.
-
Формат командной строки --client-ssl-capath dir_pathТип String Значение по умолчанию Путь к каталогу, содержащему файлы SSL CA для проверки сертификата сервера.
-
Формат командной строки --client-ssl-crl file_pathТип String Значение по умолчанию Путь к файлу SSL CRL для использования при проверке сертификата сервера.
-
Формат командной строки --client-ssl-crlpath dir_pathТип String Значение по умолчанию Путь к каталогу, содержащему файлы SSL CRL для использования при проверке сертификата сервера.
-
Формат командной строки --server-ssl-modeТип String Значение по умолчанию PREFERREDДопустимые значения AS_CLIENTDISABLEDPREFERREDREQUIREDРежим SSL-соединения для использования во время загрузки и нормальной работы при подключении между MySQL Router и сервером.
Во время загрузки все соединения с серверами, устанавливаемые маршрутизатором, будут использовать указанные параметры SSL. Если
server_ssl_modeне указан в конфигурации, по умолчанию используетсяPREFERRED.Эквивалент файла конфигурации документируется отдельно по адресу
server_ssl_mode. -
Формат командной строки --server-ssl-cipherТип String Список шифров SSL, разделенных двоеточием (":"), которые разрешено использовать, если включен SSL.
-
Формат командной строки --server-ssl-ca file_pathТип String Значение по умолчанию Путь к файлу SSL CA для проверки сертификата сервера.
-
Формат командной строки --server-ssl-capath dir_pathТип String Значение по умолчанию Путь к каталогу, содержащему файлы SSL CA для проверки сертификата сервера.
-
Формат командной строки --server-ssl-crl file_pathТип String Значение по умолчанию Путь к файлу SSL CRL для использования при проверке сертификата сервера.
-
Формат командной строки --server-ssl-crlpath dir_pathТип String Значение по умолчанию Путь к каталогу, содержащему файлы SSL CRL для использования при проверке сертификата сервера.
-
Формат командной строки --server-ssl-curvesТип String По умолчанию используется защищенный список кривых SSL. Сформируйте эту строку как список имен кривых, разделенных двоеточием.
-
Формат командной строки --server-ssl-verifyТип Строка Значение по умолчанию DISABLEDДопустимые значения DISABLEDVERIFY_CAVERIFY_IDENTITYПроверка сертификатов SSL, представленных сервером роутеру
DISABLED: соединение прерывается, если сервер не предоставляет сертификат в процессе рукопожатия.VERIFY_CA: соединение прерывается, если сертификат сервера не соответствует доверенному центру сертификации MySQL Router.VERIFY_IDENTITY: соединение прерывается, если сертификат сервера не соответствует доверенному центру сертификации MySQL Router или субъект сертификата сервера не соответствует имени хоста или IP-адресу, к которому подключен MySQL Router.
-
--config,file_path-cfile_pathФормат командной строки --config file_path, -c file_pathИспользуется для указания пути и имени файла конфигурации. Используйте этот параметр, если вы хотите использовать файл конфигурации, расположенный в папке, отличной от стандартных.
При использовании с
--bootstrap, и если файл конфигурации уже существует, копия текущего файла сохраняется с расширением .bak, если содержимое сгенерированного файла конфигурации отличается от исходного. Существующие файлы .bak перезаписываются. -
--extra-config,file_path-afile_pathФормат командной строки --extra-config file_path, -a file_pathИспользуется для указания необязательного дополнительного файла конфигурации. Используйте этот параметр, если вы хотите разделить файл конфигурации на две части для тестирования, нескольких экземпляров приложения, работающих на одной машине и т. д.
Этот файл конфигурации считывается после основного файла конфигурации. Если возникают конфликты (параметр задан в нескольких файлах конфигурации), используется значение из файла, который загружается последним.
-
Формат командной строки --install-service [service_name]Зависит от платформы Windows Установить Router как службу Windows, которая автоматически запускается при запуске Windows. Имя службы по умолчанию — MySQLRouter.
Этот процесс установки не проверяет файлы конфигурации, переданные через
--config.Этот параметр доступен только в Windows.
-
Формат командной строки --install-service-manual [service_name]Зависит от платформы Windows Установить MySQL Router как службу Windows, которую можно запускать вручную. Имя службы по умолчанию — MySQLRouter.
Этот параметр доступен только в Windows.
-
Формат командной строки --remove-service [service_name]Зависит от платформы Windows Удалить службу Router в Windows; имя службы по умолчанию — MySQLRouter.
Этот параметр доступен только в Windows.
-
Формат командной строки --serviceЗависит от платформы Windows Запустить Router как службу Windows. Этот параметр является закрытым, то есть он предназначен только для использования службой Windows при запуске Router в качестве службы.
Этот параметр доступен только в Windows.
-
Формат командной строки --update-credentials-section section_nameЗависит от платформы Windows Этот параметр доступен только в Windows и относится к хранилищу паролей.
-
Формат командной строки --conf-target-cluster valueТип Строка Допустимые значения currentprimaryУстанавливает метаданные
target_clusterMySQL Router. Принимает одну из следующих строк:-
current: устанавливаетtarget_clusterв кластер, содержащий узел, на который производится запуск. Определяет его как значение UUID кластера.Если это также первичный узел, он не динамически отслеживает изменения роли, как и
primary; вместо этого он остается статичным. primary: устанавливаетtarget_clusterв первичный кластер, включая случаи изменения во время работы.
См. также
--config-target-cluster-by-name, который устанавливаетtarget_clusterв определенное статическое имя кластера.ПримечаниеЗапуск на основе требует, чтобы параметр конфигурации Router
cluster_typeбыл установлен в gr. -
-
Командная строка --disable-rw-splitПо умолчанию, в сгенерированный
mysqlrouter.confфайл в процессе начальной загрузки добавляется раздел[router:read_write_split]; этот параметр означает, что эти данные не будут добавлены. Для дополнительной информации см. Начальную загрузку. -
Командная строка --disable-restПо умолчанию, в сгенерированный
mysqlrouter.confфайл в процессе начальной загрузки добавляются данные конфигурации для веб-сервиса API MySQL Router REST; этот параметр означает, что эти данные не будут добавлены. Это не отключает функциональность API REST, так как функциональность API REST можно настроить вручную (чтобы включить ее) позже. -
Командная строка --https-port valueТип Целое число Значение по умолчанию 8443Минимальное значение 1Максимальное значение 65535Дополнительно определите
portсервера HTTP для API MySQL Router REST в разделе [http_server] в сгенерированномmysqlrouter.confфайле в процессе начальной загрузки. По умолчанию значение 8443. Проверка доступности порта не производится.
© 2025 Oracle
Licensed under the GPLv2 License.