Spec-Zone.ru › MySQL Router 8.4

4.3.2.1 mysqlrouter — Параметры командной строки

  • Сводка параметров mysqlrouter

  • Описание параметров mysqlrouter

MySQL Router принимает параметры командной строки, которые передаются в mysqlrouter для изменения его поведения или для инициализации роутера на основе кластера InnoDB.

При запуске роутера можно необязательно использовать --config для указания местоположения основного файла конфигурации (в противном случае используется значение по умолчанию) и --extra-config для дополнительного файла конфигурации.

Параметры командной строки инициализации влияют на создаваемые файлы и каталоги, которые используются при запуске MySQL Router.

Сводка параметров mysqlrouter

Таблица 4.2 Общие параметры

Таблица 4.2 Общие параметры
Имя параметра Описание
--conf-set-option Устанавливает значение для параметра сгенерированной конфигурации во время инициализации
--config Считывает параметры конфигурации из указанного файла
--core-file Записывает дамп памяти при аварийном завершении работы роутера
--extra-config Считывает этот файл после считывания файлов конфигурации из стандартных расположений или файлов, указанных параметром --config
--help Выводит справку и завершает работу
--pid-file Местоположение для хранения файла PID
--user Запускает mysqlrouter от имени пользователя с заданным именем пользователя или числовым идентификатором пользователя
--version Выводит информацию о версии и завершает работу

Таблица 4.3 Параметры инициализации

Таблица 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

Таблица 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

Таблица 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 --version
    
    MySQL 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, -B URI

    Формат командной строки --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-socket socket_name

    Формат командной строки --bootstrap-socket socket_name
    Зависит от платформы Linux

    Используется совместно с --bootstrap для инициализации с использованием локального сокета Unix вместо TCP/IP. Значение --bootstrap-socket заменяет часть «хост:порт» в определении --bootstrap на назначенное имя сокета для подключения к серверу метаданных MySQL с помощью сокетов Unix. Это экземпляр MySQL, который инициализируется, и этот экземпляр должен быть на той же машине, если используются сокеты. Для получения дополнительной информации о том, как работает инициализация, см. --bootstrap.

    Эта опция отличается от опции командной строки --conf-use-sockets, которая устанавливает параметр конфигурации socket во время процесса инициализации.

    Эта опция недоступна в Windows.

  • --core-file

    Формат командной строки --core-file[={0|1}]
    Тип Boolean
    Значение по умолчанию 0

    Записать файл ядра, если mysqlrouter завершается аварийно. Имя и расположение файла ядра зависят от системы. В Linux файл ядра с именем core.pid записывается в текущий рабочий каталог процесса. pid представляет собой идентификатор процесса серверного процесса. В macOS файл ядра с именем core.pid записывается в каталог /cores, если у процесса есть право com.apple.security.get-task-allow. В Solaris используйте команду coreadm для указания места записи файла ядра и его имени. В Windows дамп памяти с именем mysqlrouter.{pid}.dmp записывается в текущий рабочий каталог процесса.

  • --directory dir_path, -d dir_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

    Формат командной строки --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

    Формат командной строки --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

    Формат командной строки --strict
    Тип String

    Включает строгий режим, который, например, заставляет проверку проверки пользователя загрузки --account остановить процесс загрузки, а не только выводить предупреждение и продолжать, если предоставленный пользователь не проходит проверку.

  • --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

    Формат командной строки --account-create behavior
    Тип String
    Значение по умолчанию if-not-exists
    Допустимые значения

    if-not-exists

    always

    never

    Укажите политику создания учетной записи, чтобы защитить от случайной загрузки с неправильной учетной записью пользователя. Возможные значения:

    • if-not-exists (по умолчанию): Загрузка в любом случае; повторно использовать учетную запись, если она существует, иначе создать ее.

    • always: Загрузка только если учетная запись еще не существует; и создать ее.

    • never: Загрузка только если учетная запись уже существует; и повторно использовать ее.

    Этот параметр требует, чтобы также использовался параметр --account, и чтобы --account-host не использовался.

  • --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

    Формат командной строки --conf-use-sockets
    Специфика платформы Linux

    Включает локальные сокеты Unix domain.

    Этот параметр используется при загрузке, и его включение добавляет параметр socket в генерируемый конфигурационный файл.

    Имя генерируемого файла сокета зависит от параметра protocol. При включенном классическом протоколе файл называется mysql.sock для соединений чтения-записи и mysqlro.sock для соединений только для чтения. При включенном протоколе X файл называется mysqlx.sock для соединений чтения-записи и mysqlxro.sock для соединений только для чтения.

    Этот параметр недоступен в Windows.

  • --conf-use-gr-notifications

    Формат командной строки --conf-use-gr-notifications

    Включает параметр use_gr_notifications [metadata_cache] во время загрузки. При включении маршрутизатор асинхронно уведомляется о большинстве изменений кластера. См. use_gr_notifications для получения дополнительной информации. Кроме того, использование этого параметра устанавливает ttl=60 и auth_cache_refresh_interval=60.

  • --pid-file path

    Формат командной строки --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

    Формат командной строки --report-host hostname
    Тип String

    Дополнительно определяет имя хоста маршрутизатора, вместо того чтобы полагаться на автоматическое обнаружение для определения внешне видимого имени хоста, зарегистрированного в метаданных во время процесса загрузки.

    Маршрутизатор не проверяет и не подтверждает доступность указанного имени хоста, но использует RFC 1123 для проверки имен хостов и RFC 2181 для проверки адресов.

    Указанное имя хоста записывается в поле host_name таблицы mysql_innodb_cluster_metadata.hosts в хранилище метаданных кластера MySQL InnoDB.

  • --conf-skip-tcp

    Формат командной строки --conf-skip-tcp
    Специфика платформы Linux

    Пропускает конфигурацию TCP-порта для прослушивания входящих соединений. См. также --conf-use-sockets.

    Этот параметр недоступен в Windows.

  • --conf-base-port port_num

    Формат командной строки --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

    Формат командной строки --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

    Формат командной строки --read-timeout num_seconds
    Тип Integer
    Значение по умолчанию 30

    Количество секунд, прежде чем операции чтения на сервере метаданных будут считаться истекшими по времени.

    Это влияет на операции чтения как во время процесса загрузки, так и на обычные операции MySQL Router, устанавливая связанный параметр read_timeout в сгенерированном mysqlrouter.conf.

    Этот параметр установлен в пространстве имен [DEFAULT].

  • --connect-timeout num_seconds

    Формат командной строки --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

    Формат командной строки --name router_name
    Тип String
    Значение по умолчанию system

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

  • --force-password-validation

    Формат командной строки --force-password-validation
    Специфично для платформы Linux

    По умолчанию MySQL Router пропускает механизм validate_password сервера MySQL и вместо этого Router генерирует и использует ВЕСЬМА надёжный пароль на основе известных настроек validate_password по умолчанию. Это происходит потому, что validate_password может быть настроен пользователем, и Router не может учитывать необычные пользовательские настройки.

    Эта опция гарантирует, что проверка пароля (validate_password) не пропускается для сгенерированных паролей, и по умолчанию она отключена.

  • --password-retries num_retries

    Формат командной строки --password-retries num_retries
    Тип Integer
    Значение по умолчанию 20
    Минимальное значение 1
    Максимальное значение 10000

    Указывает количество попыток генерации пароля MySQL Router при создании учетной записи пользователя с правилами проверки пароля. Значение по умолчанию — 20. Допустимый диапазон — от 1 до 10000.

    Наиболее вероятная причина сбоя — это пользовательские настройки validate_password с необычными требованиями, такими как минимальная длина в 50 символов. В случае сбоя либо --force-password-validation устанавливается в true, либо плагин mysql_native_password MySQL Server отключен (этот плагин позволяет обойти проверку).

  • --force

    Формат командной строки --force

    Принудительно выполнить переконфигурацию ранее настроенного экземпляра маршрутизатора на хосте.

  • --ssl-mode mode

    Формат командной строки --ssl-mode mode
    Тип String
    Значение по умолчанию PREFERRED
    Допустимые значения

    PREFERRED

    DISABLED

    REQUIRED

    VERIFY_CA

    VERIFY_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

    Формат командной строки --ssl-cert file_path
    Тип String
    Значение по умолчанию

    Имя пути к файлу открытого ключа сертификата SSL в формате PEM. Используется для облегчения аутентификации на стороне клиента во время процесса загрузки. Это напрямую соответствует и использует функциональность параметра клиента MySQL.

    Как и --ssl-key, этот параметр используется только во время загрузки, которая использует учетную запись root. Это полезно, когда учетная запись root была создана с REQUIRE X509, и поэтому вход в систему от имени root требует, чтобы клиент прошел аутентификацию.

  • --ssl-key file_path

    Формат командной строки --ssl-key file_path
    Тип String

    Имя пути к файлу закрытого ключа SSL в формате PEM. Используется для облегчения аутентификации на стороне клиента во время процесса загрузки. Это напрямую соответствует и использует функциональность параметра клиента MySQL.

    Как и --ssl-cert, этот параметр используется только во время процесса загрузки, который использует учетную запись root. Это полезно, когда учетная запись root была создана с REQUIRE X509, и поэтому вход в систему от имени root требует, чтобы клиент прошел аутентификацию.

  • --ssl-cipher ciphers

    Формат командной строки --ssl-cipher ciphers
    Тип String
    Значение по умолчанию

    Список шифров SSL, разделенных двоеточием (":"), которые разрешено использовать, если SSL включен.

  • --tls-version versions

    Формат командной строки --tls-version versions
    Тип String
    Значение по умолчанию

    Список версий TLS, разделенных запятыми (","), которые необходимо запросить, если SSL включен.

  • --ssl-ca file_path

    Формат командной строки --ssl-ca file_path
    Тип String
    Значение по умолчанию

    Путь к файлу SSL CA для проверки сертификата сервера.

  • --ssl-capath dir_path

    Формат командной строки --ssl-capath dir_path
    Тип String
    Значение по умолчанию

    Путь к каталогу, содержащему файлы SSL CA для проверки сертификата сервера.

  • --ssl-crl file_path

    Формат командной строки --ssl-crl file_path
    Тип String
    Значение по умолчанию

    Путь к файлу SSL CRL, используемому при проверке сертификата сервера.

  • --ssl-crlpath dir_path

    Формат командной строки --ssl-crlpath dir_path
    Тип String
    Значение по умолчанию

    Путь к каталогу, содержащему файлы SSL CRL, используемые при проверке сертификата сервера.

  • --client-ssl-mode mode

    Формат командной строки --client-ssl-mode
    Тип String
    Значение по умолчанию PREFERRED
    Допустимые значения

    PREFERRED

    DISABLED

    PASSTHROUGH

    REQUIRED

    Режим SSL-соединения для использования во время загрузки и нормальной работы при подключении между MySQL Router и клиентом.

    Во время загрузки все соединения с клиентами, устанавливаемые маршрутизатором, будут использовать указанные параметры SSL. Если client_ssl_mode не указан в конфигурации, по умолчанию используется PREFERRED.

    Эквивалент файла конфигурации документируется отдельно по адресу client_ssl_mode.

  • --client-ssl-cert file_path

    Формат командной строки --client-ssl-cert file_path
    Тип String
    Значение по умолчанию

    Имя пути к файлу сертификата открытого ключа SSL в формате PEM. Он используется для облегчения аутентификации на стороне клиента во время процесса загрузки.

    Как и --client-ssl-key, этот параметр используется только во время загрузки, которая использует учетную запись root. Это полезно, когда учетная запись root была создана с REQUIRE X509, и поэтому для входа в систему как root требуется, чтобы клиент аутентифицировал себя.

  • client-ssl-curves

    Формат командной строки --client-ssl-curves
    Тип String

    По умолчанию используется защищенный список кривых SSL. Сформируйте эту строку как список имен кривых, разделенных двоеточием.

  • --client-ssl-key file_path

    Формат командной строки --client-ssl-key file_path
    Тип String

    Имя пути к файлу закрытого ключа SSL в формате PEM. Он используется для облегчения аутентификации на стороне клиента во время процесса загрузки.

    Как и --client-ssl-cert, этот параметр используется только во время процесса загрузки, который использует учетную запись root. Это полезно, когда учетная запись root была создана с REQUIRE X509, и поэтому для входа в систему как root требуется, чтобы клиент аутентифицировал себя.

  • --client-ssl-cipher ciphers

    Формат командной строки --client-ssl-cipher
    Тип String

    Список шифров SSL, разделенных двоеточием (":"), которые разрешено использовать, если включен SSL.

  • client-ssl-dh-params

    Формат командной строки --client-ssl-dh-params=filepath
    Тип String

    Имя файла параметров DH. Если указано и не пусто, параметры DH из этого файла используются вместо внутренних параметров DH по умолчанию. Отформатируйте файл параметров DH в формате PEM.

  • --client-ssl-ca file_path

    Формат командной строки --client-ssl-ca file_path
    Тип String
    Значение по умолчанию

    Путь к файлу SSL CA для проверки сертификата сервера.

  • --client-ssl-capath dir_path

    Формат командной строки --client-ssl-capath dir_path
    Тип String
    Значение по умолчанию

    Путь к каталогу, содержащему файлы SSL CA для проверки сертификата сервера.

  • --client-ssl-crl file_path

    Формат командной строки --client-ssl-crl file_path
    Тип String
    Значение по умолчанию

    Путь к файлу SSL CRL для использования при проверке сертификата сервера.

  • --client-ssl-crlpath dir_path

    Формат командной строки --client-ssl-crlpath dir_path
    Тип String
    Значение по умолчанию

    Путь к каталогу, содержащему файлы SSL CRL для использования при проверке сертификата сервера.

  • --server-ssl-mode mode

    Формат командной строки --server-ssl-mode
    Тип String
    Значение по умолчанию PREFERRED
    Допустимые значения

    AS_CLIENT

    DISABLED

    PREFERRED

    REQUIRED

    Режим SSL-соединения для использования во время загрузки и нормальной работы при подключении между MySQL Router и сервером.

    Во время загрузки все соединения с серверами, устанавливаемые маршрутизатором, будут использовать указанные параметры SSL. Если server_ssl_mode не указан в конфигурации, по умолчанию используется PREFERRED.

    Эквивалент файла конфигурации документируется отдельно по адресу server_ssl_mode.

  • --server-ssl-cipher ciphers

    Формат командной строки --server-ssl-cipher
    Тип String

    Список шифров SSL, разделенных двоеточием (":"), которые разрешено использовать, если включен SSL.

  • --server-ssl-ca file_path

    Формат командной строки --server-ssl-ca file_path
    Тип String
    Значение по умолчанию

    Путь к файлу SSL CA для проверки сертификата сервера.

  • --server-ssl-capath dir_path

    Формат командной строки --server-ssl-capath dir_path
    Тип String
    Значение по умолчанию

    Путь к каталогу, содержащему файлы SSL CA для проверки сертификата сервера.

  • --server-ssl-crl file_path

    Формат командной строки --server-ssl-crl file_path
    Тип String
    Значение по умолчанию

    Путь к файлу SSL CRL для использования при проверке сертификата сервера.

  • --server-ssl-crlpath dir_path

    Формат командной строки --server-ssl-crlpath dir_path
    Тип String
    Значение по умолчанию

    Путь к каталогу, содержащему файлы SSL CRL для использования при проверке сертификата сервера.

  • server-ssl-curves

    Формат командной строки --server-ssl-curves
    Тип String

    По умолчанию используется защищенный список кривых SSL. Сформируйте эту строку как список имен кривых, разделенных двоеточием.

  • --server-ssl-verify string

    Формат командной строки --server-ssl-verify
    Тип Строка
    Значение по умолчанию DISABLED
    Допустимые значения

    DISABLED

    VERIFY_CA

    VERIFY_IDENTITY

    Проверка сертификатов SSL, представленных сервером роутеру

    • DISABLED: соединение прерывается, если сервер не предоставляет сертификат в процессе рукопожатия.

    • VERIFY_CA: соединение прерывается, если сертификат сервера не соответствует доверенному центру сертификации MySQL Router.

    • VERIFY_IDENTITY: соединение прерывается, если сертификат сервера не соответствует доверенному центру сертификации MySQL Router или субъект сертификата сервера не соответствует имени хоста или IP-адресу, к которому подключен MySQL Router.

  • --config file_path, -c file_path

    Формат командной строки --config file_path, -c file_path

    Используется для указания пути и имени файла конфигурации. Используйте этот параметр, если вы хотите использовать файл конфигурации, расположенный в папке, отличной от стандартных.

    При использовании с --bootstrap, и если файл конфигурации уже существует, копия текущего файла сохраняется с расширением .bak, если содержимое сгенерированного файла конфигурации отличается от исходного. Существующие файлы .bak перезаписываются.

  • --extra-config file_path, -a file_path

    Формат командной строки --extra-config file_path, -a file_path

    Используется для указания необязательного дополнительного файла конфигурации. Используйте этот параметр, если вы хотите разделить файл конфигурации на две части для тестирования, нескольких экземпляров приложения, работающих на одной машине и т. д.

    Этот файл конфигурации считывается после основного файла конфигурации. Если возникают конфликты (параметр задан в нескольких файлах конфигурации), используется значение из файла, который загружается последним.

  • --install-service

    Формат командной строки --install-service [service_name]
    Зависит от платформы Windows

    Установить Router как службу Windows, которая автоматически запускается при запуске Windows. Имя службы по умолчанию — MySQLRouter.

    Этот процесс установки не проверяет файлы конфигурации, переданные через --config.

    Этот параметр доступен только в Windows.

  • --install-service-manual

    Формат командной строки --install-service-manual [service_name]
    Зависит от платформы Windows

    Установить MySQL Router как службу Windows, которую можно запускать вручную. Имя службы по умолчанию — MySQLRouter.

    Этот параметр доступен только в Windows.

  • --remove-service

    Формат командной строки --remove-service [service_name]
    Зависит от платформы Windows

    Удалить службу Router в Windows; имя службы по умолчанию — MySQLRouter.

    Этот параметр доступен только в Windows.

  • --service

    Формат командной строки --service
    Зависит от платформы Windows

    Запустить Router как службу Windows. Этот параметр является закрытым, то есть он предназначен только для использования службой Windows при запуске Router в качестве службы.

    Этот параметр доступен только в Windows.

  • --update-credentials-section

    Формат командной строки --update-credentials-section section_name
    Зависит от платформы Windows

    Этот параметр доступен только в Windows и относится к хранилищу паролей.

  • --conf-target-cluster

    Формат командной строки --conf-target-cluster value
    Тип Строка
    Допустимые значения

    current

    primary

    Устанавливает метаданные target_cluster MySQL Router. Принимает одну из следующих строк:

    • current: устанавливает target_cluster в кластер, содержащий узел, на который производится запуск. Определяет его как значение UUID кластера.

      Если это также первичный узел, он не динамически отслеживает изменения роли, как и primary; вместо этого он остается статичным.

    • primary: устанавливает target_cluster в первичный кластер, включая случаи изменения во время работы.

    См. также --config-target-cluster-by-name, который устанавливает target_cluster в определенное статическое имя кластера.

    Примечание

    Запуск на основе требует, чтобы параметр конфигурации Router cluster_type был установлен в gr.

  • --disable-rw-split

    Командная строка --disable-rw-split

    По умолчанию, в сгенерированный mysqlrouter.conf файл в процессе начальной загрузки добавляется раздел [router:read_write_split]; этот параметр означает, что эти данные не будут добавлены. Для дополнительной информации см. Начальную загрузку.

  • --disable-rest

    Командная строка --disable-rest

    По умолчанию, в сгенерированный mysqlrouter.conf файл в процессе начальной загрузки добавляются данные конфигурации для веб-сервиса API MySQL Router REST; этот параметр означает, что эти данные не будут добавлены. Это не отключает функциональность API REST, так как функциональность API REST можно настроить вручную (чтобы включить ее) позже.

  • --https-port

    Командная строка --https-port value
    Тип Целое число
    Значение по умолчанию 8443
    Минимальное значение 1
    Максимальное значение 65535

    Дополнительно определите port сервера HTTP для API MySQL Router REST в разделе [http_server] в сгенерированном mysqlrouter.conf файле в процессе начальной загрузки. По умолчанию значение 8443. Проверка доступности порта не производится.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-router-8.4-en/mysqlrouter.html

Spec-Zone.ru

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