RussianLDP Рейтинг@Mail.ru
WebMoney: 
WMZ Z294115950220 
WMR R409981405661 
WME E134003968233 
Visa 
4274 3200 2453 6495 

Глава 4. Конфигурация

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

Самонастройка это предпочтительный и общий подход к созданию конфигурационного файла MySQL Router. См. опцию --bootstrap. Самонастройка производит полностью функциональный файл mysqlrouter.conf.

4.1. Синтаксис конфигурационного файла

Формат файла настройки напоминает традиционный формат файла INI с секциями и параметрами, но с несколькими дополнительными расширениями.

Наклонные черты вправо и влево поддерживаются. Наклонные черты влево безоговорочно копируются, поскольку они не символы ESC.

Комментарии

Конфигурационный файл может содержать строки комментария. Они начинаются с решетки (#) или точки с запятой (;) и продолжаются до конца строки.

Секции

Каждый конфигурационный файл состоит из списка секций, где каждая секция содержит последовательность опций. У каждого параметра конфигурации есть имя и значение. Например:

[section name]
option = value
option = value
option = value
[section name:optional section key]
option = value
option = value
option = value

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

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

Имена секции и ключи из последовательности из одной или более букв, цифр или подчеркивания (_). Никакие другие знаки не разрешены в имени секции или ключа.

Секция подобна пространству имен. Например, значение user зависит от своей связанной секции. user секции [DEFAULT] отсылает к пользователю системы, от мени коего запущен MySQL Router, которым также управляет опция командной строки --user. Не связанный с этим user в секции [metadata_cache] относится к пользователю MySQL, который получает доступ к метаданным сервера MySQL.

Секция Default

Специальное имя секции DEFAULT (любой регистр) используется для значений по умолчанию для опций. Опции, не найденные в секции, ищутся в секции по умолчанию. Секция по умолчанию не принимает ключ секции.

Опции

После заголовка начала секции может быть последовательность из ноля или большего количества опций, где каждая строка имеет форму:

name = value

Любые знаки начального или конечного пробела в имени или значении опции удалены прежде, чем опция обработана. Имена нечувствительны к регистру. Концевые комментарии не поддерживаются, таким образом, в этом примере опция mode получает значение "read-only # Read only mode" и поэтому произведет ошибку.

[routing:round-robin]
# Trailing comments are not supported so the following is incorrect
routing_strategy = round-robin   # Circles back to first server

Интерполяция переменной

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

Рассмотрите этот типовой конфигурационный файл:

[DEFAULT]
prefix = /usr/

[sample]
bin = {prefix}bin/{name}
lib = {prefix}lib/{name}
name = magic
directory = C:\foo\bar\{3a339172-6898-11e6-8540-9f7b235afb23}

Здесь значение bin = "/usr/bin/magic", значение lib = "/usr/lib/magic" и значение directory = "C:\foo\bar\{3a339172-6898-11e6-8540-9f7b235afb23}", так как переменная, названная "{3a339172-6898-11e6-8540-9f7b235afb23}" не определяется.

Предварительно определенные переменные

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

Таблица 4.1. Предварительно определенные переменные

Имя Описание
program Название программы, обычно mysqlrouter
origin Путь к каталогу, где расположен двоичный модуль
logging_folder Путь к папке для файлов журнала
plugin_folder Путь к папке для плагинов
runtime_folder Путь к папке для данных во время выполнения
config_folder Путь к папке для конфигурационных файлов

4.2. Местоположения конфигурационного файла

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

Местоположения конфигурационного файла по умолчанию

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

Можно изменить местоположения по умолчанию во время компиляции при помощи опции -DROUTER_CONFIGDIR=<path>. Вы могли также отредактировать cmake/settings.cmake, чтобы изменить местоположения по умолчанию прежде, чем собрать MySQL Router, таким образом добавляя новые местоположения или исключения для определенных платформ.

Выполните mysqlrouter --help, чтобы увидеть местоположения конфигурационного файла по умолчанию (и их доступность) на вашей системе. Например:

shell> mysqlrouter --help

MySQL Router v8.0.14 on macOS v10.12 (64-bit) (GPL community edition)
Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of
their respective owners.

Start MySQL Router.

Configuration read from the following files in the given order (enclosed
in parentheses means not available for reading):
(/usr/local/mysql-router/mysqlrouter.conf)
/Users/philip/.mysqlrouter.conf
Plugins Path:
/usr/local/lib/mysqlrouter
Default Log Directory:
/usr/local/mysql-router
Default Persistent Data Directory:
/usr/local/mysql-router/data
Default Runtime State Directory:
/usr/local/mysql-router/run

Usage: mysqlrouter [-v|--version] [-h|--help]

...

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

В Linux MySQL Router просматривает следующие местоположения по умолчанию, хотя эти местоположения системно-зависимы:

  1. /etc/mysqlrouter/mysqlrouter.conf

    В отличие от сервера MySQL, обратно совместимый путь "/etc/mysqlrouter.conf" не поддерживается.

  2. $HOME/.mysqlrouter.conf

Для обратной совместимости MySQL Router также ищет вариант .ini в каждом каталоге. При этом Router смотрит первоначальный каталог для варианта .conf, затем вариант .ini, затем повторяет процесс в следующем каталоге, который, как правило, является корневым каталогом пользователя в системе.

Определенные пользователями и дополнительные конфигурационные файлы

Две опции параметров командной строки управляет этими местоположениями конфигурационного файла:

  • --config (или -c): Прочитайте основную конфигурацию из этого файла и не используйте пути к файлам по умолчанию.

    Использование в качестве примера: производя автономную установку MySQL Router с опцией --directory, произведенный файл start.sh передает этот выбор произведенному mysqlrouter.conf в этом каталоге.

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

Например:

shell> mysqlrouter --config /custom/path/to/router.conf \
                      --extra-config /another/config.conf

Многократные дополнительные параметры конфигурации могут быть переданы, и файлы загружаются в порядке, в которым они введены опцией --config, загружаемые перед --extra-config:

shell> mysqlrouter --extra-config a.conf --config b.conf \
                      --extra-config c.conf

В вышеупомянутом примере b.conf загружается сначала, затем a.conf и c.conf, именно в этом порядке. Кроме того, конфигурационный файл по умолчанию, такой как /etc/mysqlrouter/mysqlrouter.conf, не загружается потому, что используется --config.

Каждый загруженный конфигурационный файл отвергает параметры конфигурации от ранее прочитанных конфигурационных файлов.

Местоположения конфигурационного файла по умолчанию (Linux)

Ниже перечислено расположение файла по умолчанию, чтобы прочитать конфигурационные файлы на популярных платформах Linux.

Выполните mysqlrouter --help, чтобы увидеть местоположения конфигурационного файла по умолчанию (и доступность) в вашей системе.

  • По умолчанию установка в масштабе всей системы под /usr/local: /usr/local/etc/mysqlrouter.conf

  • RPM и Debian: /etc/mysqlrouter/mysqlrouter.conf
  • На всех системах применение при установке опции --directory добавляет mysqlrouter.conf в каталог, определенный --directory.

Местоположения конфигурационного файла по умолчанию (Windows)

Выполните mysqlrouter --help, чтобы увидеть местоположения конфигурационного файла по умолчанию (и доступность) в вашей системе.

  • По умолчанию установка в масштабе всей системы под C:\ProgramData\MySQL\MySQL Router: C:\ProgramData\MySQL\MySQL Router\mysqlrouter.conf

  • Кроме того: C:\Users\ username\AppData\Roaming\mysqlrouter.conf, где username заменяется именем пользователя вашей системы.
  • В дополнение к mysqlrouter.conf, для обратной совместимости система также ищет mysqlrouter.ini
  • С опцией --directory: добавляет mysqlrouter.conf в каталог, указанный в --directory.

4.3. Опции настройки

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

При bootstrapping параметры настройки произведенного конфигурационного файла зависят от опций, переданых mysqlrouter. Например, передача --conf-use-sockets позволяет сокетные соединения, определяя socket для каждого маршрута в произведенном конфигурационном файле. Или --directory добавляет все произведенные файлы и подкаталоги к единственному каталогу и регулирует произведенные значения конфигурационного файла соответственно.

4.3.1. Командная строка MySQL Router

Эта секция описывает команды MySQL Router. Команда mysqlrouter используется для большинства задач, включая самонастройку и управление MySQL Router, mysqlrouter_plugin_info это дополнительное средство отладки.

4.3.1.1. Параметры командной строки mysqlrouter

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

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

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

Обзор опций mysqlrouter

Таблица 4.2. Основные опции

Формат Описание
--config Прочитайте параметры конфигурации из обеспеченного файла.
--extra-config Прочитайте этот файл после того, как конфигурационные файлы будут прочитаны из местоположений по умолчанию или из файлов, определенных опцией --config.
--help Вывод справочной информации.
--user Запустить mysqlrouter как пользователь, имеющий указанное имя или числовой идентификатор пользователя.
--version Вывод информации о версии.

Таблица 4.3. Опции самонастройки

ФорматОписание Введено
--account-host Образец хоста для настройки учетных записей. 8.0.12
--bootstrap Настроить Router для работы с кластером MySQL InnoDB.
--bootstrap-socket Соединитесь с сервером метаданных MySQL через сокет Unix, используется вместе с --bootstrap.
--conf-base-port Основной порт, чтобы использовать для портов Router.
--conf-bind-address IP-адрес интерфейса, с которым надо связать роутер.
--conf-skip-tcp Отключить ли закрепление порта TCP для поступающих связей.
--conf-use-sockets Использовать ли сокеты Unix.
--connect-timeout Число секунд перед попытками подключения к серверу метаданных. 8.0.4
--directory Создает отдельный каталог для нового роутера.
--force Реконфигурация возможно существующего маршрутизатора.
--force-password-validation Создавая учетную запись пользователя автоматически, не пропускайте стадию validate_password.
--master-key-reader Скрипт, который возвращает главный ключ в STDOUT. 8.0.12
--master-key-writer Скрипт, который читает главный ключ из STDIN. 8.0.12
--name Дает символьное имя для роутера.
--password-retries Количество повторений, чтобы использовать для создания пароля пользователя.
--read-timeout Число секунд перед операциями чтения метаданных сервера. 8.0.4
--report-host Имя хоста роутера, отвергает автообнаружение. 8.0.12

Таблица 4.4. Опции SSL

ФорматОписание Введено
--ssl-ca Путь к файлу сертификата SSL, чтобы проверить сертификат сервера.
--ssl-capath Каталог, который содержит файлы доверенных сертификатов SSL Certificate Authority
--ssl-cert Клиентский сертификат SSL, чтобы облегчить клиентскую идентификацию во время bootstrap 8.0.4
--ssl-cipher Отделенный двоеточиями список шифров SSL, если SSL позволен.
--ssl-crl Путь к файлу SSL CRL, чтобы использовать, проверяя сертификат сервера.
--ssl-crlpath Путь к каталогу, содержащему файлы SSL CRL, чтобы использовать, проверяя сертификат сервера.
--ssl-key Частный ключ SSL, чтобы облегчить клиентскую идентификацию во время bootstrap8.0.4
--ssl-mode Способ связи SSL для использования во время bootstrap и нормального функционирования, соединяясь с сервером метаданных. Аналогично --ssl-mode в клиенте mysql.
--tls-version Список разделенных запятой значений версий TLS, если SSL позволен.

Таблица 4.5. Опции сервисов Windows

Формат Описание
--clear-all-credentials Удаляет все сохраненные данные авторизации
--install-service В Windows установить MySQL Router как сервис MySQLRouter и установить его автоматически запускаться, когда Windows перезапустится.
--install-service-manual В Windows установить MySQL Router как сервис MySQLRouter, который может быть вручную запущен.
--remove-credentials-section Удалите параметры авторизации.
--remove-service Удалить MySQL Router как сервис Windows.
--service Запустить MySQL Router как сервис Windows.
--update-credentials-section Обновите данные авторизации.
Описание опций mysqlrouter
  • --version, -V

    Свойство Значение
    Командная строка --version , -V

    Показывает номер версии и соответствующую информацию:

    shell> mysqlrouter --version
    
    MySQL Router v8.0.14 on Linux (64-bit) (GPL community edition)
    
  • --help, -?

    Свойство Значение
    Командная строка --help , -?

    Показывает справочное сообщение.

    Опция --help обладает дополнительным преимуществом. Наряду с объяснением каждой из опций, --help также показывает пути, используемые, чтобы найти конфигурационный файл, и несколько путей по умолчанию. Следующая выдержка из вывода --help показывает пример с машины под Ubuntu 16.04:

    shell> mysqlrouter --help
    
    MySQL Router v8.0.14 on Linux (64-bit) (GPL community edition)
    Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of
    their respective owners.
    
    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
    Тип String

    Основная опция для автонастройки MySQL Router, соединяясь с сервером метаданных кластера InnoDB в обеспеченном URI. Маршрутизатор MySQL формирует себя на основе информации от сервера метаданных кластера InnoDB. Пароль в случае необходимости запрашивается. Если имя пользователя не введено как часть URI тогда, имя пользователя по умолчанию "root", см. Connecting using a URI String.

    В то время как --bootstrap принимает URI для связей TCP/IP, используя --bootstrap-socket, имя локального сокета Unix заменяет часть "host:port" в URI, переданного опции --bootstrap на той же самой машине.

    По умолчанию процесс начальной загрузки выполняет конфигурацию в масштабе всей системы MySQL Router. Только один экземпляр MySQL Router может формироваться для работы в масштабе всей системы. Его router_name = "default". Если дополнительные экземпляры нужны, используйте опцию --directory, чтобы создать отдельные установки MySQL Router.

    URI: экземпляр сервера из кластера InnoDB, чтобы получить информацию о метаданных. Если обеспеченный URI только для чтения, MySQL Router автоматически снова соединяется с экземпляром чтения-записи в кластере InnoDB, таким образом, это может зарегистрировать 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\. Вызов Executing mysqlrouter --help покажет это местоположение.

    Опция --user нужна, выполняя самонастройку с суперпользователем (uid=0). Хотя это не рекомендуется, возможна передача его имени как аргумента, такой как --user=root .

    Применение --bootstrap добавляет значения по умолчанию к произведенному конфигурационному файлу MySQL Router, и некоторые из этих значений по умолчанию зависят от других условий. Упомянутые ниже некоторые условия, которые затрагивают произведенные значения по умолчанию, где умолчание определяется передачей параметра --bootstrap.

    Таблица 4.6. Условия, которые затрагивают умолчания для --bootstrap

    Условие Описание
    --conf-base-port

    Изменяет произведенный bind_port для каждого типа подключения.

    По умолчанию произведенное значение bind_port следующее: для классического протокола Read-Write = 6446 и Read-Only = 6447, для X protocol Read-Write = 64460 и Read-Only = 64470.

    --conf-use-sockets Вставляет определения socket для каждого типа подключения.
    --conf-skip-tcp Определения связи TCP/IP не определяются.
    --directory Влияет на все пути к файлам, а также производит дополнительные файлы.
    Режим единственного основного выключен Если group_replication_single_primary_mode отключена (по умолчанию включена), только связи Read-Write (но не Read-Only) определяются. Для получения дополнительной информации посмотрите здесь.
    Другое Этот список не исчерпывающий, другие варианты и условия также затрагивают произведенные значения.
  • --bootstrap-socket socket_name

    Свойство Значение
    Командная строка --bootstrap-socket socket_name
    Для платформы Linux

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

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

    Этот выбор не доступен в Windows.

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

    Если этот выбор определяется, файл брелка хранится в соответствии с каталогом времени выполнения того экземпляра, под run/ в указанном каталоге, в противоположность каталогу времени выполнения в масштабе всей системы.

    Если также включен --conf-use-sockets, произведенные файлы сокета также добавляются к этому каталогу.

  • --master-key-writer

    Свойство Значение
    Командная строка --master-key-writer file_path
    Введено 8.0.12
    Тип 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)
    

    Пример использования этого:

    shell> 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
    Введено 8.0.12
    Тип 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
    

    Пример использования этого:

    shell> 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
    
  • --account-host

    Свойство Значение
    Командная строка --account-host host_pattern
    Введено 8.0.12
    Тип String
    По умолчанию %

    Образец хоста, используемый для учетных записей, создаваемых MySQL Router во время процесса начальной загрузки. Это дополнительно и по умолчанию '%'.

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

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

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

    Примеры:

    # Если один хост
    shell> mysqlrouter --bootstrap localhost:3310 --account-host host1
    
    # Или много хостов
    shell> mysqlrouter --bootstrap localhost:3310 --account-host host1 \
                          --account-host host2 --account-host host3
    
  • --conf-use-sockets

    Свойство Значение
    Командная строка --conf-use-sockets
    Для платформы Linux

    Позволяет местные сокеты Unix.

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

    Название произведенного файла сокета зависит от опций mode и protocol. С классическим протоколом файл называется mysql.sock в режиме read-write и mysqlro.sock в режиме read-only. С протоколом X Protocol файл называется mysqlx.sock в режиме read-write и mysqlxro.sock в режиме read-only.

    Опция отсутствует в Windows.

  • --report-host

    Свойство Значение
    Командная строка --report-host hostname
    Введено 8.0.12
    Тип String

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

    Маршрутизатор не проверяет или подтверждает, что поставляемое имя хоста достижимо, а только проверяет последовательность имени хоста на запрещенные символы. Только алфавитно-цифровые '-', '.' и '_' допустимы.

    Поставляемое имя хоста написано в поле 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

    Основное значение используется при слушании портов TCP, устанавливая bind_port для каждого запускаемого роутера.

    Это используется для классических маршрутов read-write, и каждый дополнительный назначенный порт увеличивает значение. Порядок назначения портов classic read-write/read-only, затем x read-write/read-only. Например:

    # Example without --conf-base-port
    shell> 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:64460
    - Read/Only Connections: localhost:64470
    
    # Example demonstrating --conf-base-port behavior
    shell> mysqlrouter --bootstrap root@localhost:3310 --conf-base-port 6446
    ...
    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
    
  • --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
    Введено 8.0.4
    Тип Integer
    По умолчанию 30

    Число секунд тайм-аута операций чтения сервера метаданных.

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

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

  • --connect-timeout num_seconds

    Свойство Значение
    Командная строка --connect-timeout num_seconds
    Введено 8.0.4
    Тип 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. "User" в этом контексте обращается к системной учетной записи, а не пользователю MySQL, перечисленному в таблицах привилегий. При автонастройке все произведенные файлы принадлежат этому пользователю, и это также устанавливает связанную опцию user.

    Этот системный user определяется в конфигурационном файле под пространством имен [DEFAULT]. Для получения дополнительной информации посмотрите документацию опции user, которая определяет --user.

    Опция --user требуется, выполняя автонастройку как суперпользователь (uid=0). Хотя это не рекомендуется, возможно, передавая имя как аргумент, такой как --user=root.

    Не работает в Windows.

  • --name router_name

    Свойство Значение
    Командная строка --name router_name
    Тип String

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

  • --force-password-validation

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

    По умолчанию MySQL Router пропускает механизм MySQL Server validate_password, вместо этого производит и использует СТРОГИЙ пароль на основе известных настроек validate_password по умолчанию. Это вызвано тем, что validate_password может формироваться пользователем, и маршрутизатор не может принять во внимание необычные параметры настройки.

    Эта опция гарантирует, что проверка пароля (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 для использования во время самонастройки и нормального функционирования, соединяясь с сервером метаданных. Аналогично --ssl-mode в клиенте mysql.

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

    Когда установлено в значение не по умолчанию (PREFERRED), запись ssl_mode вставляется под секцию [metadata_cache] в произведенном конфигурационном файле.

    Доступные значения: DISABLED, PREFERRED, REQUIRED, VERIFY_CA, and VERIFY_IDENTITY. PREFERRED значение по умолчанию. Как с клиентом mysql, значение нечувствительно к регистру.

    Эквивалентный конфигурационный файл указан отдельно в ssl_mode.

  • --ssl-cert file_path

    Свойство Значение
    Командная строка --ssl-key file_path
    Введено 8.0.4
    Тип String

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

    Аналогично --ssl-key, этот выбор используется только во время автонастройки, которая использует учетную запись root. Полезно, когда учетная запись root была создана с REQUIRE X509, и поэтому требует, чтобы клиент подтвердил подлинность себя.

  • --ssl-key file_path

    Свойство Значение
    Командная строка --ssl-key file_path
    Введено 8.0.4
    Тип String

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

    Аналогично --ssl-key, этот выбор используется только во время автонастройки, которая использует учетную запись root. Полезно, когда учетная запись root была создана с REQUIRE X509, и поэтому требует, чтобы клиент подтвердил подлинность себя.

  • --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
    По умолчанию

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

  • --ssl-crl file_path

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

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

  • --ssl-crlpath dir_path

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

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

  • --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
    Для платформы Windows

    Установить роутер как сервис Windows, который автоматически запускается, когда загружается Windows. Имя сервиса MySQLRouter .

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

    Доступно только в Windows.

  • --install-service-manual

    Свойство Значение
    Командная строка --install-service-manual
    Для платформы Windows

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

    Доступно только в Windows.

  • --remove-service

    Свойство Значение
    Командная строка --remove-service
    Для платформы Windows

    Удалить сервис роутера в Windows.

    Доступно только в Windows.

  • --service

    Свойство Значение
    Командная строка --service
    Для платформы Windows

    Запустить роутер как сервис Windows.

    Доступно только в Windows.

  • --update-credentials-section

    Свойство Значение
    Командная строка --update-credentials-section section_name
    Для платформы Windows

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

  • --remove-credentials-section section_name

    Свойство Значение
    Командная строка --remove-credentials-section section_name
    Для платформы Windows

    Удалить данные авторизации для данной секции.

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

  • --clear-all-credentials

    Свойство Значение
    Командная строка --clear-all-credentials
    Для платформы Windows

    Очистите хранилище пароля, удалив все данные авторизации, сохраненные в нем.

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

4.3.1.2. Параметры командной строки mysqlrouter_plugin_info

mysqlrouter_plugin_info это средство отладки, которое осматривает плагин MySQL Router для поиска потенциальных конфликтов и общих проблем.

Примеры как использовать:

shell> ./mysqlrouter_plugin_info --help

Usage:
./mysqlrouter_plugin_info <mysqlrouter_plugin_file> <mysql_plugin_name>

Example:
./mysqlrouter_plugin_info /usr/lib/mysqlrouter/routing.so routing

To print help information:
./mysqlrouter_plugin_info --help
To print application version:
./mysqlrouter_plugin_info --version

shell> ./bin/mysqlrouter_plugin_info --version

MySQLRouter Plugin Info App 8.0.3
shell> ./bin/mysqlrouter_plugin_info lib/mysqlrouter/routing.so routing
{
"abi-version": "2.0",
"arch-descriptor": "i386/darwin//",
"brief": "Routing MySQL connections between MySQL clients/connectors and servers",
"plugin-version": "0.0.1",
"requires": [],
"conflicts": []
}

4.3.2. Варианты конфигурационного файла

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

MySQL Router читает опции из конфигурационных файлов, которые напоминают традиционный формат файла INI с секциями и вариантами. Они определяют набор вариантов, когда MySQL Router запускается. Для получения информации о синтаксисе файла посмотрите раздел 4.1.

Варианты определяются согласно секциям, которые диктуют значение выбора. Например, user в секции [DEFAULT] отсылает к пользователю системы, запустившему роутер, в то время как user в секции [metadata_cache] отсылает к пользователю MySQL для доступа к метаданным.

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

Основные опции

Таблица 4.7. Секция [DEFAULT]

Опция Описание Тип
config_folder Путь к конфигурационным файлам String
connect_timeout Число секунд тайм-аута при попытках подключения к серверу метаданных Integer
keyring_path Путь к файлу брелока String
logging_folder Путь к журналам регистрации String
master_key_path Путь к основному файлу брелока String
master-key-reader Скрипт, который возвращает главный ключ на STDOUT String
master-key-writer Скрипт, который читает главный ключ из STDIN String
plugin_folder Путь к плагинам роутера String
runtime_folder Путь к файлам времени выполнения String
sinks Метод(ы) журналирования, чтобы получить данные String
thread_stack_size Размер в KB памяти, выделенной каждому стеку потока Integer
user Пользователь системы, который запустил роутер String

Опции маршрутизации

Таблица 4.8. Секция [routing]

Опция Описание Тип
bind_address Адрес роутера, также используется bind_port, если порт не определяется String
bind_port Порт по умолчанию, используется bind_address Integer
client_connect_timeout Максимальное количество секунд, чтобы получить пакеты от сервера MySQL Integer
connect_timeout Число секунд тайми-аута при подключении к серверу MySQL Integer
destinations Места назначения маршрутов как список разделенных запятой значений серверов MySQL или как определение кэша метаданных String
dynamic_config Путь к произведенному файлу JSON, используемому для отслеживания и хранения активных адресов сервера метаданных кластера MySQL InnoDB String
max_connect_errors Максимальное количество неудавшихся связей сервера MySQL перед отказом Integer
max_connections Максимальное количество связей, назначенных на сервер MySQL назначения Integer
mode Как маршрутизатор выбирает серверы назначения MySQL String
protocol Протокол для соединения с MySQL Server String
read_timeout Число секунд тайм-аута операций чтения сервера метаданных Integer
routing_strategy (Дополнительная) стратегия маршрутизации, как роутер выбирает серверы назначения MySQL String
socket Путь к файлу сокета unixString

Опции кэша метаданных

Таблица 4.9. Секция [metadata_cache]

Опция Описание Тип
bootstrap_server_addresses Серверы MySQL с метаданными, как список разделенных запятой значений String
metadata_cluster Имя кластера InnoDB String
router_id Router IDInteger
ssl_mode Способ связи SSL для соединения с сервером метаданных, по умолчанию PREFERRED, если не задан String
ttl Time To Live в секундах Integer
user Пользователь MySQL, который получает доступ к схеме метаданных MySQL Server String

Опции журналирования

Таблица 4.10. Секция [logger]

Опция Описание Тип
level Уровень журналированияString

Таблица 4.11. Секция [http_server]

Опция Описание Тип
bind_address Адрес IPv4, который связан с портом HTTP String
port Порт TCP сервера HTTPInteger
require_realm Имя [http_auth_realm]String
ssl_cert Имя файла сертификата SSLString
ssl_cipher Одобренные шифры SSLString
ssl_dh_param Имя файла параметра DHString
ssl Позволяет поддержку TLSv1.2 или более позднегоInteger
ssl_key Имя файла ключа SSLString
static_folder Каталог для статических файлов сервера HTTP String

Описания опций конфигурационного файла MySQL Router

  • logging_folder

    Свойство Значение
    Тип String
    По умолчанию $router_basepath

    Путь к каталогу файла журнала MySQL Router. Файл журнала называют mysqlrouter.log, он создается по мере надобности, но журнал добавлен к нему, если этот файл уже существует.

    Установка logging_folder к пустому значению посылает сообщения на консоль ( stdout).

    По умолчанию logging_folder установлена к основному пути в MySQL Router с версии 2.1.

    Пример, который посылает записи в /var/log/mysqlrouter/mysqlrouter.log:

    [DEFAULT]
    logging_folder = /var/log/mysqlrouter
    

    Когда --directory используется, произведенный конфигурационный файл устанавливает его в $directory/log/.

  • plugin_folder

    Свойство Значение
    Тип String
    По умолчанию (Other) /usr/local/lib/mysqlrouter
    По умолчанию (Windows)

    Путь к плагинам MySQL Router. Этот каталог должен соответствовать инсталляционному каталогу MySQL Router. Необходимо установить это, только если у вас есть пользовательская установка, где плагины не находятся в стандартном инсталляционном местоположении.

    По умолчанию: /usr/local/lib/mysqlrouter

  • runtime_folder

    Свойство Значение
    Тип String
    По умолчанию (Other) /run/mysqlrouter
    По умолчанию (Windows)

    Путь к файлам времени выполнения MySQL Router.

    По умолчанию: /run/mysqlrouter

  • master-key-writer

    Свойство Значение
    Командная строка --master-key-writer file_path
    Введено 8.0.12
    Тип String

    Скрипт, который читает главный ключ из STDIN. Установите, применяя опцию --master-key-writer самонастройки.

  • master-key-reader

    Свойство Значение
    Командная строка --master-key-reader file_path
    Введено 8.0.12
    Тип String

    Скрипт, который возвращает главный ключ к STDOUT. Установите, применяя опцию самонастройки --master-key-reader.

  • config_folder

    Свойство Значение
    Тип String
    По умолчанию (Other) /usr/local/etc/mysqlrouter
    По умолчанию (Windows)

    Путь к конфигурационным файлам MySQL Router.

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

    По умолчанию: /usr/local/etc/mysqlrouter

  • sinks

    Свойство Значение
    Введено 8.0.16
    Тип String
    Допустимые значения (Other)

    consolelog

    filelog

    syslog

    Допустимые значения (Windows)

    consolelog

    filelog

    eventlog

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

    Поддержанные значения такие: consolelog, filelog, eventlog (в Windows) и syslog (в Unix). Используйте список разделенных запятой значений, чтобы определить много вариантов.

    Значение по умолчанию: filelog, если опция logging_folder не пустая в секции "[DEFAULT]", иначе consolelog.

    Например, чтобы использовать файл, консоль и журнал событий каждое использование уровня отладки, надо написать в секции [logger]:

    [logger]
    level=debug
    sinks=consolelog,eventlog,filelog
    
  • keyring_path

    Свойство Значение
    Тип String
    По умолчанию (Other) /run/mysql-router/keyring-data
    По умолчанию (Windows) %PROGRAMDATA%\MySQL\MySQL Router\keyring-data

    Указывает местоположение файла брелка.

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

    Пути по умолчанию в масштабе всей системы используются, если этот выбор не определяется.

    Пример использования настройки:

    keyring_path = /opt/myrouter/data/keyring
    master_key_path = /opt/myrouter/mysqlrouter.key
    
  • master_key_path

    Свойство Значение
    Тип String
    По умолчанию (Other) /run/mysql-router/mysqlrouter.key
    По умолчанию (Windows) %PROGRAMDATA%\MySQL\MySQL Router\mysqlrouter.key

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

    Пути по умолчанию в масштабе всей системы используются, если этот выбор не определяется.

    keyring_path = /opt/myrouter/data/keyring
    master_key_path = /opt/myrouter/mysqlrouter.key
    
  • user (system)

    Свойство Значение
    Тип String

    Выполнить mysqlrouter как пользователь, имеющий имя user_name или числовой идентификатор пользователя user_id. "User" в этом контексте обращается к системной учетной записи, а не к пользователю MySQL, перечисленному в таблицах привилегий. Это может также быть назначено во время выполнения, используя опцию командной строки --user.

    В Linux устанавливая роутер с официальными пакетами DEB или RPM, система создает местного пользователя системы и группу, названную "mysqlrouter" на хосте и запускает MySQL Router как этот пользователь по умолчанию. У этого пользователя нет доступа оболочки, и его корневой каталог указывает на каталог, где сохранен конфигурационный файл по умолчанию.

    Цель этого выбора состоит в том, чтобы управлять MySQL Router как пользователем с ограниченными системными привилегиями. Если пользователь не существует в системе, или если предпринята попытка запуска роутера как root, происходит ошибка.

    MySQL Router может быть настроен и запущен при любом пользователе операционной системы и не требует специальных привилегий, кроме доступа для чтения и записи к его собственным файлам. Файлы, к которым это получает доступ, включают плагины (read/execute), конфигурационный файл, журналы, файлы сокета UNIX (если используются) и другие.

    По умолчанию конфигурационные файлы и файлы журнала написаны в масштабе всей системы в такие каталоги, как /etc и /var/log. Альтернативно, роутер может быть настроен к отдельному собственному каталогу при помощи опции --directory:

    shell> sudo mysqlrouter --bootstrap localhost:3310 \
                               --directory /a/path/myrouter --user snoopy
    

    В этом примере роутер создает /a/path/myrouter и добавляет все произведенные файлы и каталоги сюда, они перезаписываемы только пользователем системы snoopy. Кроме того, user определяется в произведенном конфигурационном файле /a/path/myrouter/mysqlrouter.conf:

    [DEFAULT]
    user=snoopy
    

    Это отличается от user, определенного в секции [metadata_cache], который является пользователем MySQL.

  • bind_address

    Свойство Значение
    Тип String
    По умолчанию 127.0.0.1

    Информация связана с дополнительной опцией bind_address:

    • Записи направления могут быть связаны с сетевым интерфейсом (NIC). По умолчанию bind_address = 127.0.0.1. Если порт не определяется здесь, то требуется определение bind_port.

    • По умолчанию --bootstrap устанавливает bind_address=0.0.0.0 для каждого маршрута в произведенном конфигурационном файле, это может быть изменено, используя --conf-bind-address.
    • Связь с определенным IPv4 или адресом IPv6 позволяет и гарантирует, что MySQL Router не запускается, а маршрут указывает на NIC, на котором ничему не позволяют выполняться.
    • Невозможно определить больше, чем один обязательный адрес на группу конфигурации направления. Однако использование 0.0.0.0:$port (где вы определяете $port) связывает все сетевые интерфейсы (IP) на хосте. Адреса IPv6 могут также использоваться.

    bind_address = 127.0.0.1:7001
    

    bind_address не может быть перечислен в списке destinations.

  • bind_port

    Свойство Значение
    Тип Integer

    Произвольно можно определить порт по умолчанию для bind_address, применяя bind_port. Если порт не формируется в bind_address, bind_port требуется и используется.

    Эти три примера ниже показывают все результаты при bind_address = 127.0.0.1:7001

    [routing:example_1]
    bind_port = 7001
    
    [routing:example_2]
    bind_port = 7001
    bind_address = 127.0.0.1
    
    [routing:example_3]
    bind_address = 127.0.0.1:7001
    
  • socket

    Свойство Значение
    Для платформы Linux
    Тип String

    Сокеты позволены, используя socket, которая может быть определена с или без опций TCP bind_port и bind_address:

    [routing]
    socket = /tmp/mysqlrouter.sock
    destinations = a.example.com:3306,b.example.com:3307
    

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

    Относительные пути приемлемы и на основе текущего рабочего каталога, где запускается роутер.

    Маршрутизатор может слушать порты TCP и сокеты Unix одновременно. Например, следующий пример [routing] действителен и формирует роутер, чтобы слушать связи на localhost:1234 и /tmp/mysqlrouter.sock:

    [routing:my_redirect]
    bind_address = localhost:1234
    socket = /tmp/mysqlrouter.sock
    mode = read-write
    destinations = localhost:57121, localhost:57122, localhost:57123
    

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

  • protocol

    Свойство Значение
    Тип String
    По умолчанию classic
    Допустимые значения

    classic

    x

    Используется плагином направления, соединяя с сервером назначения MySQL, может быть установлен в "classic" (по умолчанию) или в "x" (X Protocol).

    [routing:basic_failover]
    bind_port = 7001
    mode = read-write
    destinations = 10.20.200.1:33060, 10.20.200.2:33060
    protocol = x
    

    Опция protocol также затрагивает порт по умолчанию, используемый каждым местом назначения. Если целевой порт не формируется, то порт по умолчанию 3306 для "classic" (по умолчанию) и 33060 для "x" (X Protocol).

  • connect_timeout

    Свойство Значение
    Тип Integer
    По умолчанию 1
    Минимум 1
    Максимум 65536

    Тайм-аут, используемый MySQL Router, соединяясь с местом назначения. Значение по умолчанию составляет 1 секунду. Значение не может быть неограниченным, недействительное значение приводит к ошибке конфигурации. Действительный диапазон между 1 и 65536. Необходимо поддерживать эту величину на низком уровне.

    Например, используя режим read-write, значение может быть немного выше, чтобы ждать PRIMARY. Используя режим read-only для вторичных связей, низкое значение имеет больше смысла, потому что роутер выбирает новый сервер во время направления связи.

    [routing]
    connect_timeout = 1
    
  • connect_timeout

    Свойство Значение
    Тип Integer
    По умолчанию (>= 8.0.14) 15
    По умолчанию (<= 8.0.13) 30

    Тайм-аут, используемый MySQL Router, соединяясь с сервером метаданных MySQL. Значение по умолчанию составляет 30 секунд.

    [DEFAULT]
    connect_timeout = 30
    
  • read_timeout

    Свойство Значение
    Тип Integer
    По умолчанию 30

    Тайм-аут, используемый MySQL Router, читая с сервера метаданных MySQL. Значение по умолчанию составляет 30 секунд.

    [DEFAULT]
    read_timeout = 30
    
  • destinations

    Свойство Значение
    Тип String

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

    Использование в качестве примера с определенными хостами (статическая маршрутизация):

    destinations = a.example.com,b.example.com,c.example.com
    

    Если порт места назначения явно не установлен, то порт по умолчанию 3306, если protocol = "classic" или не установлен (по умолчанию), или 33060, если protocol установлен в "x".

    Использование в качестве примера с кэшем метаданных кластера InnoDB:

    destinations=metadata-cache://mycluster/default?role=PRIMARY
    

    Варианты metadata-cache URI:

    • role: Определяет тип экземпляров, доступных для связи. Приемлемые: PRIMARY, SECONDARY или PRIMARY_AND_SECONDARY.

      Опция routing_strategy в mysqlrouter.conf определяет стратегию, по умолчанию стратегия направления кэша метаданных round-robin.

    • disconnect_on_promoted_to_primary: Управляет, закрываются ли существующие связи клиента с вторичным, когда вторичный становится primary. Значение по умолчанию "no" означает, что существующие связи клиента с продвинутым вторичным не закрываются после продвижения. Установите в URI disconnect_on_promoted_to_primary=yes, чтобы закрыть эти существующие связи.

      Эта опция добавлена в MySQL Router 8.0.12.

    • disconnect_on_metadata_unavailable: Управляет, закрываются ли существующие связи клиента, когда группа перегружена. Значение по умолчанию "no" значит, что существующие связи клиента не закрываются, когда группа перегружена. Установите в URI disconnect_on_metadata_unavailable=yes , чтобы закрыть эти существующие связи.

      Эта опция добавлена в MySQL Router 8.0.12.

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

  • dynamic_config

    Свойство Значение
    Введено 8.0.14
    Тип String

    Это отслеживает и хранит активные адреса сервера метаданных кластера MySQL InnoDB и загружает их, если роутер перезапущен. Эта функциональность активируется --bootstrap и предпочтена статической опции bootstrap_server_addresses.

    Самонастройка определяет dynamic_config в файле mysqlrouter.conf в секции [DEFAULT]. Это путь к произведенному файлу JSON state.json, который инициализируется адресами сервера метаданных кластера InnoDB и репликацией ID группы, дополнительная информация добавляется и обновляется, в то время как роутер работает.

    Пример записи в mysqlrouter.conf:

    [DEFAULT]
    dynamic_config=/opt/myrouter/data/state.json
    

    Пример state.json, произведенного --bootstrap:

    {
    "metadata-cache": {
    "group-replication-id": "4b9e817a-0254-11e9-9cc0-080027bb5030",
    "cluster-metadata-servers": [
    "mysql://localhost:3310",
    "mysql://localhost:3320",
    "mysql://localhost:3330"
    ]
    },
    "version": "1.0.0"
    }
    

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

    Эта опция добавлена в MySQL Router 8.0.14.

  • mode

    Свойство Значение
    Тип String
    Допустимые значения

    read-write

    read-only

    Устаревшая опция режима устанавливает планирование роутера и два поддержанных режима:

    MySQL Router 8.0.4 добавил опцию routing_strategy как более гибкий способ формировать график режима.

    Опции mode и routing_strategy не могут быть установлены в одно и то же время.

    • read-write: Как правило, для направления к master или primary экземпляру MySQL.

      Mode Schedule: в режиме read-write весь трафик направлен к начальному адресу в списке. Если это потерпит неудачу, то MySQL Router попробует следующий элемент в списке, и продолжит пробовать каждый сервер MySQL в списке. Если больше серверов MySQL недоступно в списке, направление прерывается.

      С routing_strategy то же самое поведение может быть определено, используя routing_strategy=next-available вместо mode=read-write.

      Первый успешный сервер MySQL, с которым связываются, сохраняется в памяти как первый, чтобы опробовать будущие поступающие связи. Это временное состояние означает, что об этом забывают после того, как MySQL Router перезапущен.

      [routing:example_strategy_mode]
      bind_port = 7001
      destinations = primary1.example.com,primary2.example.com,primary3.example.com
      mode = read-write
      

      Так как опция mode устарела, предыдущий пример должен использовать routing_strategy:

      [routing:example_strategy]
      bind_port = 7001
      destinations = primary1.example.com,primary2.example.com,primary3.example.com
      routing_strategy = next-available
      
    • read-only: Как правило, для направления к вторичному или ведомому экземпляру MySQL.

      Mode Schedule: режим read-only использует простой метод round-robin, чтобы пройти список MySQL Server. Это посылает первую связь первому адресу в списке, следующую связь второму адресу и так далее, и вернется к первому адресу после того, как список будет исчерпан.

      С routing_strategy то же самое поведение может быть определено, используя routing_strategy=round-robin вместо mode=read-only.

      Если сервер MySQL недоступен, то следующий сервер пробуют. Когда ни один из серверов MySQL в списке недоступен, направление прерывается.

      Изолированы недоступные серверы MySQL. Их доступность перепроверяется и когда доступны они отложены в конец списка destinations. Порядок назначения поддержан.

      [routing:ro_route_mode]
      bind_port = 7002
      destinations = secondary1.example.com,secondary2.example.com,secondary3.example.com
      mode = read-only
      

      Так как опция mode устарела, предыдущий пример должен использовать routing_strategy:

      [routing:ro_route]
      bind_port = 7002
      destinations = secondary1.example.com,secondary2.example.com,secondary3.example.com
      routing_strategy=round-robin
      

    Альтернативно, предыдущий пример destinations мог использовать metadata-cache, чтобы применить кэш метаданных кластера InnoDB, который динамично формирует информацию о хосте:

    [routing:ro_route]
    bind_port = 7002
    destinations=metadata-cache://myCluster/default?role=SECONDARY
    routing_strategy=round-robin
    
  • routing_strategy

    Свойство Значение
    Введено 8.0.4
    Тип String
    Допустимые значения

    first-available

    next-available

    round-robin

    round-robin-with-fallback

    Стратегия направления определяет, как MySQL Router выбирает серверы MySQL, с которыми соединиться.

    MySQL Router 8.0.4 добавил опцию routing_strategy как более гибкий способ определить стратегию. Ранее это поведение было определено, используя устаревшую теперь mode.

    routing_strategy и mode не могут быть установлены в одно и то же время.

    Доступные стратегии:

    • first-available: новая связь направлена к первому доступному серверу из списка назначения. В случае неудачи используется следующий доступный сервер. Этот цикл продолжается, пока все серверы не недоступны.

    • next-available: аналогично first-available, но новая связь направлена первому доступному серверу из списка назначения. В отличие от этого, first-available, если сервер отмечен как недостижимый, от него отказывается и никогда не использует снова в качестве места назначения.

      Эта стратегия обратно совместима с MySQL Router 2.x mode read-write. Ее ограничения включают:

      • После того, как от всех узлов отказываются, нет никакого способа добавить серверы назад в список.

      • После перезапуска MySQL Router, потеряно все знание о том, от каких серверов отказываются, все серверы доступны снова.

    • round-robin: для выравнивания нагрузки каждая новая связь установлена со следующим доступным сервером циклическим способом.

    • round-robin-with-fallback: для выравнивания нагрузки каждая новая связь установлена со следующим доступным вторичным сервером циклическим способом. Если вторичный сервер недоступен, серверы из основного списка используются циклическим способом.

    • Если режим read-write, стратегия по умолчанию first-available с MySQL Router 8.0, но работает как next-available в MySQL Router 2.1.

    • Если режим read-only, стратегия по умолчанию round-robin.
    • Если роль кластера InnoDB PRIMARY, стратегия по умолчанию round-robin, доступные стратегии first-available и round-robin.
    • Если роль кластера InnoDB SECONDARY , стратегия по умолчанию round-robin и first-available, доступные стратегии round-robin и round-robin-with-fallback.
    • Если роль кластера InnoDB PRIMARY_AND_SECONDARY, стратегия по умолчанию round-robin, доступные стратегии first-available и round-robin.

  • max_connections

    Свойство Значение
    Тип Integer
    По умолчанию 512
    Минимум 1
    Максимум 65536

    Каждое направление может ограничить количество маршрутов или связей. Одно возможное применение должно помочь предотвратить возможные нападения Denial-Of-Service (DOS). Значение по умолчанию 512, действительный диапазон между 1 и 65536.

    Это подобно переменной MySQL Server max_connections.

    max_connections = 512
    

    MySQL Router 2.1.5 и 8.0.4 добавили функциональности, которые увеличивают параллельный предел связи приблизительно с 500 до 5000. Это зависимое от операционной системы ограничение было изменено, чтобы использовать poll() вместо select().

  • thread_stack_size

    Свойство Значение
    Введено 8.0.12
    Тип Integer
    По умолчанию 64
    Минимум 1
    Максимум 65535

    Размер стека для каждого потока. Это измерено в килобайтах и по умолчанию 64.

    [DEFAULT]
    thread_stack_size=128
    
  • max_connect_errors

    Свойство Значение
    Тип Integer
    По умолчанию 100
    Минимум 1
    Максимум 4294967295

    Значение по умолчанию 100, действительный диапазон между 1 и 2^32 (4294967295, unsigned int).

    Это подобно переменной сервера MySQL max_connect_errors.

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

    Успешная связь сбрасывает счетчик ошибок (с 8.0.14).

    У каждого направления есть свой собственный список заблокированных хостов. Заблокированные клиенты получают ошибочный код MySQL Server error 1129 с немного отличающимся сообщением об ошибке: "1129: Too many connection errors from fail.example.com". Журналы роутера содержат дополнительную информацию для заблокированных клиентов, например: INFO [...] 1 authentication errors for fail.example.com (max 100) WARNING [...] blocking client host fail.example.com

    max_connect_errors = 100
    
  • client_connect_timeout

    Свойство Значение
    Тип Integer
    По умолчанию 9
    Минимум 2
    Максимум 31536000

    Аналог переменной сервера MySQL connect_timeout.

    Значение по умолчанию 9, это меньше, чем умолчание в MySQL 5.7. Действительный диапазон между 2 и 31536000.

    client_connect_timeout = 9
    
  • router_id

    Свойство Значение
    Тип Integer

    MySQL Router ID.

  • ssl_mode

    Свойство Значение
    Тип String
    По умолчанию PREFERRED
    Допустимые значения

    PREFERRED

    DISABLED

    REQUIRED

    VERIFY_CA

    VERIFY_IDENTITY

    Режим SSL для соединения с сервером метаданных MySQL. По умолчанию PREFERRED, если не задано.

    Когда установлено в PREFERRED, самонастройка предупредит, когда SSL не будет использоваться, и связь с сервером метаданных не зашифрована.

    Доступные значения: DISABLED, PREFERRED, REQUIRED, VERIFY_CA и VERIFY_IDENTITY. Как с mysql, значение нечувствительно к регистру.

    Есть также возможность для самонастройки, посмотрите --ssl-mode.

  • bootstrap_server_addresses

    Свойство Значение
    Deprecated 8.0.14
    Тип String

    Список серверов MySQL с метаданными, которые могут быть применены. После того, как к метаданным получили доступ, кэш метаданных переключается на серверы, которые присутствуют в основном ReplicaSet, чтобы получить метаданные. Они также известны как bootstrap-серверы.

    Эта опция устарела в MySQL Router 8.0.14 и больше не производится процессом начальной загрузки. Вместо этого добавлена как замена dynamic_config.

  • user (MySQL)

    СвойствоЗначение
    Тип String

    Произведенный пользователь MySQL с привилегиями получить доступ к схеме метаданных сервера MySQL. Пароль этого пользователя сгенерирован и сохранен в зашифрованном виде в keyring. По умолчанию ключ шифрования для этого брелока сохранен в защищенном файле хранилища master key, который определяется в конфигурационном файле. Обычно эти пользователь и связанный пароль автоматически произведены во время самонастройки. Связанные параметры командной строки --force-password-validation и --password-retries. По умолчанию произведенный пароль проверяется validate_password.

    Паролем полностью управляет роутер и сохраняет в местной системе брелока, используя учетную запись операционной системы, от которой работает MySQL Router. Это может использоваться роутером, чтобы соединиться с кластером InnoDB и получить текущую информацию о топологии. Сессии между роутером и сервером метаданных зашифрованы SSL по умолчанию.

    То, где произведенные файлы брелока хранятся, зависит от того, как работает самонастройка. Для отдельных установок (когда используется --directory), это сохранено под run/ в отдельном каталоге. Для установок в масштабе всей системы это сохранено в каталоге времени выполнения в масштабе всей системы, и тот путь определен платформой. Для получения дополнительной информации посмотрите master_key_path и keyring_path.

    Этому пользователю назначают следующие привилегии:

    Privileges needed by the Router account:
    
    On Metadata Server:
    
    SELECT ON mysql_innodb_cluster_metadata.*
    
    On Target Replica Sets:
    
    SELECT ON performance_schema.replication_group_members
    SELECT ON performance_schema.replication_group_member_stats
    

    Произведенное имя пользователя следует этому шаблону: mysql_router_ [0-9]{1,6}_[0-9a-z]{12} , где [0-9]{1,6} числовой id роутера и [0-9a-z]{12} случайных строчных алфавитно-цифровых символов. Id маршрутизатора снова используется, если существует в mysqlrouter.conf , и его длина не может превысить 6 цифр.

    Этот пользователь отличается от user, определенного в секции [DEFAULT], который является пользователем системы.

  • metadata_cluster

    Свойство Значение
    Тип String

    Имя кластера InnoDB.

    SQL-запрос, чтобы перечислить имена кластеров InnoDB: SELECT * FROM mysql_innodb_cluster_metadata.clusters;

  • ttl

    СвойствоЗначение
    Тип (>= 8.0.12)Numeric
    Тип (<= 8.0.11)Integer
    По умолчанию (>= 8.0.12) 0.5
    По умолчанию (>= 8.0.4, <= 8.0.11) 5
    По умолчанию (<= 8.0.3) 300
    Минимум 0
    Максимум (>= 8.0.12) 3600
    Максимум (<= 8.0.11) 4294967295

    Время жизни (в секундах) информации в кэше метаданных.

    Принимает целое число или значение с плавающей точкой. Степень детализации ограничивается миллисекундами, где 0.001 равняется одной миллисекунде. Точность усечена к поддержанному диапазону, например, ttl=0.0119 рассматривают как 11 миллисекунд. Значение 0 значит, что модуль кэша метаданных запрашивает метаданные непрерывно в жестком цикле.

    Единственный поддержанный десятичный сепаратор '.' (точка) независимо от места действия, и экспоненциальное представление, например, ttl=1.6E-2 допустимо.

    Поддержка чисел с плавающей точкой была добавлена в MySQL Router 8.0.12.

  • level

    Свойство Значение
    Тип String
    По умолчанию INFO
    Допустимые значения

    INFO

    DEBUG

    WARNING

    ERROR

    FATAL

    Используйте плагин logger, чтобы зарегистрировать уведомления, ошибки и отладочную информацию. Доступные уровни регистрации: INFO (по умолчанию), DEBUG, WARNING, ERROR и FATAL. Эти значения нечувствительны к регистру.

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

    [logger]
    level = DEBUG
    

    Поведение вывода зависит от опции logging_folder. Установка logging_folder к каталогу сохраняет в нем файл журнала, названный mysqlrouter.log. Установка logging_folder к пустому значению или отсутствие установки производит регистрацию на консоль. Это установлено в секции [DEFAULT].

    С MySQL Router 8.0.4 самонастройка принимает использование конфигурационного файла --config и использует определение уровня журналирования.

  • port

    Свойство Значение
    Введено 8.0.16
    Тип Integer
    По умолчанию 8011

    Порт TCP для запросов HTTP, по умолчанию 8011.

  • bind_address

    Свойство Значение
    Введено 8.0.16
    Тип String
    По умолчанию 0.0.0.0

    Адрес IPv4 для HTTP port, по умолчанию 0.0.0.0.

  • static_folder

    Свойство Значение
    Введено 8.0.16
    Тип String

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

  • require_realm

    Свойство Значение
    Введено 8.0.16
    Тип String

    Имя экземпляра [http_auth_realm].

  • ssl

    Свойство Значение
    Введено 8.0.16
    Тип Integer
    По умолчанию 1
    Допустимые значения

    1

    0

    Значение 1 позволяет SSL, 0 отключает его. Клиенты TLS, поддерживающие TLSv1.2 или позже, требуются. Это определяется в секции [http_server].

  • ssl_cert

    СвойствоЗначение
    Введено 8.0.16
    Тип String

    Имя файла сертификата и сертификатов цепочки в формате PEM, требуется, если ssl=1. Это определяется в секции [http_server].

  • ssl_key

    Свойство Значение
    Введено8.0.16
    Тип String

    Имя файла ключа в формате PEM, требуется, если ssl=1. Это определяется в секции [http_server].

  • ssl_cipher

    Свойство Значение
    Введено8.0.16
    Тип String

    Спецификация шифра (см. список openssl 'ciphers'). По умолчанию это список разделенных запятой значений всех одобренных шифров. Неизвестные шифры тихо проигнорированы. Терпит неудачу, если список шифров пуст и ssl=1. Это определяется в секции [http_server].

  • ssl_dh_param

    Свойство Значение
    Введено 8.0.16
    Тип String

    Прочитайте параметр DH от этого файла в формате PEM. Использует dh-param из RFC 5114 по умолчанию, если ssl=1. Это определяется в секции [http_server].

4.3.3. Пример конфигурационного файла

Вот основной пример направления связи к кластеру MySQL InnoDB mycluster. Включены протоколы classic и X protocol, это использует связи TCP/IP вместо сокетов Unix и это было произведено, используя --bootstrap как автономная конфигурация с --directory, установелнной в /opt/routers/myrouter.

В этом примере трафик чтения-записи (primary) посылают по портам 6446 (classic) или 64460 (x), трафик только чтения (secondaries) использует порты 6447 (classic) или 64470 (x).

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

destinations ссылается на metadata-cache, чтобы использовать кэш метаданных кластера InnoDB, который динамично формирует информацию о хосте. Альтернативно destinations мог быть списком разделенных запятой значений хостов, чтобы задать основное направление связи без кластера InnoDB.

# File automatically generated during MySQL Router bootstrap
[DEFAULT]
logging_folder=/opt/routers/myrouter/log
runtime_folder=/opt/routers/myrouter/run
data_folder=/opt/routers/myrouter/data
keyring_path=/opt/routers/router/data/keyring
master_key_path=/opt/routers/myrouter/mysqlrouter.key
connect_timeout=30
read_timeout=30

[logger]
level = INFO

[metadata_cache:mycluster]
router_id=5
bootstrap_server_addresses=mysql://localhost:3310,mysql://localhost:3320,mysql://localhost:3330
user=mysql_router5_6owf3spq1c6n
metadata_cluster=mycluster
ttl=5

[routing:mycluster_default_rw]
bind_address=0.0.0.0
bind_port=6446
destinations=metadata-cache://mycluster/default?role=PRIMARY
routing_strategy=round-robin
protocol=classic

[routing:mycluster_default_ro]
bind_address=0.0.0.0
bind_port=6447
destinations=metadata-cache://mycluster/default?role=SECONDARY
routing_strategy=round-robin
protocol=classic

[routing:mycluster_default_x_rw]
bind_address=0.0.0.0
bind_port=64460
destinations=metadata-cache://mycluster/default?role=PRIMARY
routing_strategy=round-robin
protocol=x

[routing:mycluster_default_x_ro]
bind_address=0.0.0.0
bind_port=64470
destinations=metadata-cache://mycluster/default?role=SECONDARY
routing_strategy=round-robin
protocol=x

Поиск

 

Найди своих коллег!

Вы можете направить письмо администратору этой странички, Алексею Паутову. mailto:alexey.v.pautov@mail.ru