4.3.2.1 mysqlrouter — Опции командной строки
MySQL Router принимает опции командной строки, которые передаются в mysqlrouter для изменения его поведения или для инициализации маршрутизатора на основе кластера InnoDB.
При запуске маршрутизатора можно использовать --config для указания расположения основного файла конфигурации (в противном случае используется значение по умолчанию) и --extra-config для дополнительного файла конфигурации.
Опции командной строки для инициализации влияют на создаваемые файлы и директории при запуске MySQL Router.
Краткое описание опций
Таблица 4.2 Общие опции
| Имя опции | Описание |
|---|---|
| --conf-set-option | Устанавливает значение для опции сгенерированной конфигурации во время инициализации |
| --config | Считывает опции конфигурации из указанного файла |
| --core-file | Создаёт core-файл при аварийном завершении работы Router |
| --extra-config | Считывает этот файл после считывания файлов конфигурации из системных каталогов или из файлов, указанных в опции --config |
| --help | Выводит справку и завершает работу |
| --pid-file | Указывает место для сохранения файла PID |
| --user | Запустить mysqlrouter от имени указанного пользователя или пользователя с заданным числовым идентификатором |
| --version | Выводит информацию о версии и завершает работу |
Таблица 4.3 Опции инициализации
| Имя опции | Описание |
|---|---|
| --account | Аккаунт MySQL, используемый Router после инициализации |
| --account-create | Поведение при создании аккаунта во время инициализации |
| --account-host | Шаблон хоста, используемый для аккаунтов при инициализации |
| --bootstrap | Инициализация и настройка Router для работы с кластером MySQL InnoDB |
| --bootstrap-socket | Подключение к серверу метаданных через Unix-сокет, используется совместно с --bootstrap |
| --conf-base-port | Базовый порт для прослушивания портов Router |
| --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 | Создаёт автономную директорию для новой инстанции Router |
| --disable-rest | Отключает генерацию деталей REST API в файл конфигурации mysqlrouter.conf |
| --disable-rw-split | Отключает генерацию деталей разделения чтение/запись в сгенерированный файл mysqlrouter.conf |
| --force | Принудительно переконфигурировать потенциально существующую инстанцию маршрутизатора |
| --force-password-validation | При автоматическом создании учётной записи не пропускать механизм валидации пароля |
| --https-port | Порт HTTP-сервера REST API MySQL Router |
| --master-key-reader | Скрипт, возвращающий главный ключ в стандартный вывод |
| --master-key-writer | Скрипт, считывающий главный ключ из стандартного ввода |
| --name | Присваивает символическое имя экземпляру маршрутизатора |
| --password-retries | Количество попыток сгенерировать пароль пользователя Router |
| --read-timeout | Количество секунд до того, как операции чтения на сервере метаданных будут считаться истекшими |
| --report-host | Хост Router; переопределяет автоматическое определение |
| --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 v9.2.0 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Тип Строка Значение по умолчанию systemПри первоначальной инициализации задаёт символьное имя для автономного экземпляра маршрутизатора. Этот параметр необязателен и используется с
--directory. При создании нескольких экземпляров имена должны быть уникальными. -
Формат командной строки --force-password-validationСпецифично для платформы Linux По умолчанию MySQL Router пропускает механизм проверки пароля MySQL Server и вместо этого генерирует и использует СИЛЬНЫЙ пароль, основанный на стандартных настройках validate_password. Это связано с тем, что validate_password может быть настроен пользователем, а Router не может учесть необычные пользовательские настройки.
Этот параметр гарантирует, что проверка пароля (validate_password) не пропускается для сгенерированных паролей, и он отключён по умолчанию.
-
--password-retriesnum_retriesФормат командной строки --password-retries num_retriesТип Целое число Значение по умолчанию 20Минимальное значение 1Максимальное значение 10000Указывает количество попыток, которые MySQL Router должен предпринять для генерации пароля при создании учётной записи с правилами проверки пароля. Значение по умолчанию равно 20. Допустимый диапазон — от 1 до 10000.
Наиболее вероятной причиной неудачи является настройка validate_password с необычными требованиями, например, минимальной длиной 50 символов. В этом случае, вероятно, установлен параметр
--force-password-validationв значение true. -
Формат командной строки --forceВынуждает переконфигурировать ранее настроенный экземпляр маршрутизатора на хосте.
-
Формат командной строки --ssl-mode modeТип Строка Значение по умолчанию PREFERREDДопустимые значения PREFERREDDISABLEDREQUIREDVERIFY_CAVERIFY_IDENTITYРежим SSL-соединения для использования во время инициализации и в ходе нормальной работы при подключении к серверу метаданных. Аналогично параметру в клиенте mysql.
Во время инициализации все подключения к серверам метаданных, выполняемые маршрутизатором, будут использовать указанные параметры SSL. Если
ssl_modeне указан в конфигурации, он будет по умолчанию установлен в PREFERRED. Во время нормальной работы после запуска маршрутизатора его плагин Metadata Cache будет читать и учитывать все настроенные параметры SSL.При установке значения, отличного от значения по умолчанию (PREFERRED), в сгенерированном конфигурационном файле вставка производится в раздел
[metadata_cache].Доступные значения — DISABLED, PREFERRED, REQUIRED, VERIFY_CA и VERIFY_IDENTITY. PREFERRED — значение по умолчанию. Как и в клиенте mysql, это значение регистронезависимое.
Эквивалент в конфигурационном файле документирован отдельно по адресу
ssl_mode. -
Формат командной строки --ssl-cert file_pathТип Строка Значение по умолчанию Имя пути к файлу сертификата открытого ключа SSL в формате PEM. Используется для аутентификации клиента на стороне клиента во время процесса инициализации. Это напрямую соответствует и использует функциональность параметра MySQL-клиента.
Как и
--ssl-key, этот параметр используется только во время процесса инициализации, использующего учётную запись root. Это полезно, когда учётная запись root была создана с REQUIRE X509, и поэтому для входа в неё клиенту требуется пройти аутентификацию. -
Формат командной строки --ssl-key file_pathТип Строка Имя пути к файлу закрытого ключа SSL в формате PEM. Используется для аутентификации клиента на стороне клиента во время процесса инициализации. Это напрямую соответствует и использует функциональность параметра MySQL-клиента.
Как и
--ssl-cert, этот параметр используется только во время процесса инициализации, использующего учётную запись root. Это полезно, когда учётная запись root была создана с REQUIRE X509, и поэтому для входа в неё клиенту требуется пройти аутентификацию. -
Формат командной строки --ssl-cipher ciphersТип Строка Значение по умолчанию Список шифров SSL, разделённых двоеточием (":"), для разрешения, если SSL включён.
-
Формат командной строки --tls-version versionsТип Строка Значение по умолчанию Список TLS-версий, разделённых запятыми (","), для запроса, если SSL включён.
-
Формат командной строки --ssl-ca file_pathТип Строка Значение по умолчанию Путь к файлу SSL CA для проверки сертификата сервера.
-
Формат командной строки --ssl-capath dir_pathТип Строка Значение по умолчанию Путь к каталогу, содержащему файлы SSL CA для проверки сертификата сервера.
-
Формат командной строки --ssl-crl file_pathТип Строка Значение по умолчанию Путь к файлу SSL CRL для использования при проверке сертификата сервера.
-
Формат командной строки --ssl-crlpath dir_pathТип Строка Значение по умолчанию Путь к каталогу, содержащему файлы 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: соединение прерывается, если сертификат сервера не соответствует доверенному CA-сертификату MySQL Router.VERIFY_IDENTITY: соединение прерывается, если сертификат сервера не соответствует доверенному CA-сертификату 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-restПо умолчанию, данные конфигурации для веб-службы REST API MySQL Router добавляются в сгенерированный
mysqlrouter.confфайл во время загрузки; этот параметр означает, что эти данные не добавляются. Это не отключает функциональность REST API, так как её можно настроить вручную (для включения) позже. -
Формат командной строки --https-port valueТип Целое число Значение по умолчанию 8443Минимальное значение 1Максимальное значение 65535Дополнительно можно определить
portHTTP-сервера для REST API MySQL Router в секции [http_server] в сгенерированномmysqlrouter.confфайле во время загрузки. По умолчанию значение 8443. Проверка доступности порта не производится.
© 2025 Oracle
Licensed under the GPLv2 License.