4.3.3 Параметры файла конфигурации
При запуске MySQL Router считывает список файлов конфигурации, которые вместе составляют конфигурацию маршрутизатора. Требуется как минимум один файл конфигурации.
MySQL Router считывает параметры из файлов конфигурации, которые тесно напоминают традиционный формат INI-файла, с разделами и параметрами. Эти параметры определяют настройки, устанавливаемые при запуске MySQL Router. Для получения информации о синтаксисе файла см. Раздел 4.1, «Синтаксис файла конфигурации».
Параметры определены в разделах, которые определяют значение параметра. Например, user в разделе [DEFAULT] относится к системному пользователю, под которым работает маршрутизатор, а user в разделе [metadata_cache] относится к пользователю MySQL, который получает доступ к метаданным.
Следующие таблицы разделены по разделам и обобщают параметры MySQL Router, определенные в файле конфигурации MySQL Router. Подробная информация о каждом из этих параметров, такая как описания и разрешенные значения, приведена ниже этих таблиц.
Общие параметры
Таблица 4.7 [DEFAULT]
| Имя параметра | Описание | Тип |
|---|---|---|
config_folder | Путь к файлам конфигурации | Строка |
connect_timeout | Количество секунд до истечения времени ожидания попыток подключения к серверу метаданных | Целое число |
event_source_name | Только платформы Microsoft Windows. Определяет имя службы, используемое MySQL Router, когда он запущен как служба в Microsoft Windows. | Строка |
keyring_path | Путь к файлу хранилища ключей | Строка |
logging_folder | Путь к журналам маршрутизатора | Строка |
master_key_path | Путь к файлу хранилища главного ключа | Строка |
master_key_reader | Скрипт, возвращающий главный ключ в стандартный вывод | Строка |
master_key_writer | Скрипт, считывающий главный ключ из стандартного ввода | Строка |
max_total_connections | Максимальное общее количество разрешенных подключений клиентов от маршрутизатора | Целое число |
pid_file | Местоположение для хранения файла PID | Строка |
plugin_folder | Путь к плагинам маршрутизатора | Строка |
runtime_folder | Путь к временным файлам | Строка |
sinks | Метод(ы) ведения журнала для получения настроенных данных журнала | Строка |
thread_stack_size | Размер в КБ памяти, выделенной для стека каждого потока | Целое число |
unknown_config_option | Тип ошибки, отправляемый, если встречен неизвестный параметр конфигурации | Строка |
user | Системный пользователь, под которым работает MySQL Router | Строка |
Параметры маршрутизации
Таблица 4.8 [routing]
| Имя параметра | Описание | Тип |
|---|---|---|
access_mode | Делит чтение и запись в соответствии с категорией транзакции. | Строка |
bind_address | Адрес, к которому привязан маршрутизатор, также использует bind_port, если порт не определен. | Строка |
bind_port | Порт по умолчанию, используемый bind_address. | Целое число |
client_connect_timeout | Максимальное количество секунд для приема пакетов от сервера MySQL. | Целое число |
client_ssl_ca | Путь к файлу сертификата Центра сертификации (CA) в формате PEM. | Строка |
client_ssl_capath | Путь к каталогу, содержащему файлы сертификатов доверенного Центра сертификации (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, если не установлено. | Строка |
client_ssl_session_cache_mode | Включает или отключает кэш сессий TLS для клиентских соединений. | Булево |
client_ssl_session_cache_size | Количество записей в кэше сессий TLS для клиентских соединений. | Целое число |
client_ssl_session_cache_timeout | Время в секундах, до истечения срока действия сессий TLS в кэше клиентских TLS сессий. | Целое число |
connect_retry_timeout | Количество секунд, которое MySQL Router ожидает перед повторной попыткой подключения к бэкенду. | Целое число |
connect_timeout | Количество секунд, прежде чем попытки подключения к серверу MySQL считаются истекшими. | Целое число |
connection_sharing | Включить совместное использование соединений. | Целое число |
connection_sharing_delay | Количество секунд ожидания перед перемещением неактивного соединения в пул соединений. | Целое число |
destinations | Назначение маршрутизации в виде списка серверов MySQL через запятую или определения метаданных. | Строка |
dynamic_state | Путь к сгенерированному JSON-файлу, используемому для отслеживания и хранения адресов активных серверов метаданных MySQL InnoDB Cluster. | Строка |
max_connect_errors | Максимальное количество неудачных подключений к серверам MySQL перед отказом. | Целое число |
max_connections | Максимальное количество подключений, назначенных маршрутизированному серверу MySQL. | Целое число |
net_buffer_length | Установить net_buffer_length. | Целое число |
protocol | Протокол для подключения к серверу MySQL. | Строка |
read_timeout | Количество секунд до истечения срока ожидания операций чтения на сервере метаданных. | Целое число |
router_require_enforce | В случае включения, извлекает атрибуты текущего пользователя и применяет их. | Булево |
routing_strategy | Стратегия маршрутизации (необязательно), как маршрутизатор выбирает целевые сервера MySQL. | Строка |
server_ssl_ca | Путь к файлу сертификата Центра сертификации (CA) в формате PEM. | Строка |
server_ssl_capath | Путь к каталогу, содержащему файлы сертификатов доверенного Центра сертификации (CA) в формате PEM. | Строка |
server_ssl_cert | Путь к сертификату SSL (PEM), используемому для шифрования коммуникаций маршрутизатор-сервер. | Строка |
server_ssl_cipher | Шифр SSL для сервера. | Строка |
server_ssl_crl | Путь к файлу, содержащему списки отзыва сертификатов в формате PEM. | Строка |
server_ssl_crlpath | Путь к каталогу, содержащему файлы списков отзыва сертификатов в формате PEM. | Строка |
server_ssl_curves | Кривые SSL для сервера. | Строка |
server_ssl_key | Путь к файлу сертификата закрытого ключа SSL (PEM), используемому для шифрования коммуникаций маршрутизатор-сервер. | Строка |
server_ssl_mode | Определяет, должны ли соединения с маршрутизатора на сервер быть зашифрованы. | Строка |
server_ssl_session_cache_mode | Включает или отключает кэш сессий TLS для соединений с сервером. | Булево |
server_ssl_session_cache_size | Количество записей в кэше сессий TLS для соединений с сервером. | Целое число |
server_ssl_session_cache_timeout | Время в секундах, до истечения срока действия сессий TLS в кэше серверных TLS сессий. | Целое число |
server_ssl_verify | Проверка SSL сертификатов, представленных сервером маршрутизатору. | Строка |
socket | Путь к файлу сокета Unix-домена. | Строка |
wait_for_my_writes | Только для чтения запросы ожидают последней написанной транзакции. | Целое число |
wait_for_my_writes_timeout | Максимальное время в секундах ожидания применения написанной транзакции для назначения только для чтения, прежде чем перейти к назначению для чтения и записи. | Целое число |
Параметры статуса назначения
Таблица 4.9 [destination_status]
| Имя параметра | Описание | Тип |
|---|---|---|
error_quarantine_interval | Определяет интервал в секундах между проверками подключенности изолированных целей. Если подключение возможно, цель снимается с изоляции и становится доступной для подключений. | Целое число |
error_quarantine_threshold | Определяет порог последовательных неудачных попыток подключения к целевому маршрутизатору, прежде чем MySQL Router поместит цель в изоляцию и перестанет использовать её в качестве цели, пока она не будет снята с изоляции механизмом изоляции. Например, если значение равно 5, цель изолируется после 5 последовательных неудачных попыток подключения. | Целое число |
Таблица 4.10 [connection_pool]
| Имя параметра | Описание | Тип |
|---|---|---|
idle_timeout | Секунды, в течение которых простаивающее подключение хранится в пуле перед закрытием | Целое число |
max_idle_server_connections | Подключения, которые остаются открытыми после разрыва соединения клиентом | Целое число |
Параметры кэша метаданных
Таблица 4.11 [metadata_cache]
| Имя параметра | Описание | Тип |
|---|---|---|
auth_cache_refresh_interval | Интервал между попытками обновления кэша авторизации | Числовое |
auth_cache_ttl | Время, в течение которого кэш считается недействительным, если не обновляется | Числовое |
cluster_type | Кластер, к которому был запущен объект Router | Строка |
metadata_cluster | Имя кластера InnoDB | Строка |
router_id | Идентификатор маршрутизатора | Целое число |
ssl_ca | Файл CA-сертификатов SSL для проверки сертификата сервера | Строка |
ssl_capath | Директория, содержащая файлы CA-сертификатов SSL для проверки сертификата сервера | Строка |
ssl_crl | Файл CRL SSL для проверки сертификата сервера | Строка |
ssl_crlpath | Директория, содержащая файлы CRL SSL для проверки сертификата сервера | Строка |
ssl_mode | Режим SSL-соединения для подключения к серверу метаданных, по умолчанию PREFERRED, если не указано | Строка |
tls_version | Список TLS-версий, запрашиваемых через запятую, если SSL включен | Строка |
ttl | Время жизни (TTL), в секундах | Целое число |
use_gr_notifications | Поведение уведомлений группы репликации | Целое число |
user | Пользователь MySQL, который имеет доступ к схеме метаданных сервера MySQL | Строка |
Параметры ведения журнала
Таблица 4.12 [logger]
| Имя параметра | Описание | Тип |
|---|---|---|
destination | Имя устройства для ведения журнала; может быть использовано с [consolelog] | Строка |
filename | Имя файла журнала; может быть использовано с [logger] и [filelog] | Строка |
level | Уровень ведения журнала | Строка |
timestamp_precision | Точность временной метки логгера | Строка |
Параметры HTTP-сервера
Таблица 4.13 [http_server]
| Имя параметра | Описание | Тип |
|---|---|---|
bind_address | IP-адрес, привязанный к порту HTTP | Строка |
port | TCP-порт HTTP-сервера | Целое число |
require_realm | Имя [http_auth_realm] | Строка |
ssl_cert | Имя файла SSL-сертификата | Строка |
ssl_cipher | Допустимые шифры SSL | Строка |
ssl_dh_param | Имя файла параметров DH | Строка |
ssl | Включает поддержку TLSv1.2 и более поздних версий | Целое число |
ssl_key | Имя файла SSL-ключа | Строка |
static_folder | Директория для статических запросов к HTTP-серверу | Строка |
Таблица 4.14 [http_auth_realm]
Таблица 4.15 [http_auth_backend]
Таблица 4.16 [io]
Таблица 4.17 [keepalive]
Описание параметров конфигурационного файла MySQL Router
-
Тип String Значение по умолчанию Допустимые значения autoОпределяет, как MySQL Router обрабатывает запросы только для чтения и чтения/записи. Если включено, запросы только для чтения направляются на серверы только для чтения, а запросы чтения/записи — на серверы чтения/записи. См. Раздел 3.5, «Разделение чтения/записи».
-
Тип Integer Значение по умолчанию 1Минимальное значение 0Максимальное значение 1Запросы только для чтения ожидают последнюю записанную транзакцию.
-
Тип Integer Значение по умолчанию 1Минимальное значение 0Максимальное значение 4294967295Максимальное время ожидания в секундах, пока назначение read_only применит записанную транзакцию, прежде чем вернуться к назначению read_write.
-
Тип Boolean Значение по умолчанию 0Если включено, MySQL Router извлекает значения, определенные в атрибуте
router_requiresпользователя в таблице.Атрибут должен иметь следующий формат:
{router_require: {value}}Возможные значения:
{}: нет требований.{ssl: true}: MySQL Router требует SSL от клиента.{x509: true}: MySQL Router требует SSL и сертификат x509 от клиента.{issuer: ""}: MySQL Router требует SSL, сертификат x509 и центр сертификации от клиента.{ssl: true}: MySQL Router требует SSL, сертификат x509 и субъект сертификата от клиента.
-
Тип String Значение по умолчанию Только для платформ Microsoft Windows. Определяет имя службы, используемое MySQL Router, когда он запущен как служба в Microsoft Windows. Это позволяет различать службы при запуске нескольких экземпляров MySQL Router и их сообщения в журнале событий.
Например:
[DEFAULT] event_source_name = MySQLRouterService
-
Тип String Значение по умолчанию $router_basepathПуть к каталогу файлов журнала MySQL Router. Файл журнала называется
mysqlrouter.log, и он либо создается, либо к нему добавляется информация, если этот файл уже существует.Установка
logging_folderв пустое значение отправляет сообщения на консоль (stdout).ПримечаниеЗначение
logging_folderпо умолчанию изменилось с "" на базовый путь Router в MySQL Router 2.1.Пример, отправляющий журналы в
/var/log/mysqlrouter/mysqlrouter.log:[DEFAULT] logging_folder = /var/log/mysqlrouter
Когда используется параметр загрузки
--directory, созданный конфигурационный файл устанавливает его в $directory/log/. -
Тип String Значение по умолчанию (Windows) Значение по умолчанию (Другие) /usr/local/lib/mysqlrouterПуть к плагинам MySQL Router. Эта папка должна совпадать с каталогом установки MySQL Router. Вам следует устанавливать это только в случае пользовательской установки, где плагины находятся не в стандартном месте установки.
Значение по умолчанию:
/usr/local/lib/mysqlrouter -
Тип String Значение по умолчанию (Windows) Значение по умолчанию (Другие) /run/mysqlrouterПуть к файлам времени выполнения MySQL Router.
Значение по умолчанию:
/run/mysqlrouter -
Формат командной строки --master-key-writer file_pathТип String Скрипт, который считывает главный ключ из STDIN. Устанавливается с помощью параметра загрузки командной строки
--master-key-writer. -
Формат командной строки --master-key-reader file_pathТип String Скрипт, который возвращает главный ключ в STDOUT. Устанавливается с помощью параметра загрузки командной строки
--master-key-reader. -
Тип String Значение по умолчанию (Windows) Значение по умолчанию (Другие) /usr/local/etc/mysqlrouterПуть к конфигурационным файлам MySQL Router.
Примечаниеconfig_folderв настоящее время устанавливается во время компиляции. Этот параметр может использоваться будущими плагинами, когда у них появятся собственные конфигурационные файлы.Значение по умолчанию:
/usr/local/etc/mysqlrouter -
Тип String Допустимые значения (Windows) consolelogfilelogeventlogДопустимые значения (Другие) consolelogfilelogsyslogПриемник(и) (различные методы ведения журнала), в которые отправляется определенный уровень журнала.
Поддерживаемые значения приемника:
consolelog,filelog,eventlog(в Windows) иsyslog(в системах на основе Unix). Используйте список, разделенный запятыми, чтобы определить несколько значений.Значение по умолчанию:
filelog, если параметрlogging_folderне пуст в разделе "[DEFAULT]", иначеconsolelog.Например, чтобы настроить регистратор для использования файла, консоли и журнала событий, каждый из которых использует уровень журнала отладки, настроенный в разделе [logger]:
[logger] level=debug sinks=consolelog,eventlog,filelog
-
Type String Default Value (Windows) %PROGRAMDATA%\MySQL\MySQL Router\keyring-dataDefault Value (Other) /run/mysql-router/keyring-dataУказывает на расположение файла keyring.
Системная загрузка не добавляет этот параметр в сгенерированный конфигурационный файл и предполагает, что файл keyring находится в системном каталоге состояния времени выполнения. Если также используется
--directory, то файл keyring хранится в каталоге состояния времени выполнения этого экземпляра, вrun/в указанном каталоге.Если этот параметр не определен, используются системные пути по умолчанию.
Пример использования:
keyring_path = /opt/myrouter/data/keyring master_key_path = /opt/myrouter/mysqlrouter.key
-
Type String Default Value (Windows) %PROGRAMDATA%\MySQL\MySQL Router\mysqlrouter.keyDefault Value (Other) /run/mysql-router/mysqlrouter.keyРасположение файла master key. Этот параметр позволяет автоматическое дешифрование, так как в противном случае его расположение запрашивается при запуске.
Если этот параметр не указан, используются системные пути по умолчанию.
Пример использования:
keyring_path = /opt/myrouter/data/keyring master_key_path = /opt/myrouter/mysqlrouter.key
-
Type String Default Value warningValid Values warningerrorОпределяет поведение MySQL Router при обработке неизвестных параметров конфигурации, таких как опечатки.
Поведение по умолчанию — предупреждение, а при загрузке оно определяется как ошибка в сгенерированном конфигурационном файле. Предупреждение регистрирует предупреждающее сообщение, но не останавливает работу, тогда как ошибка означает, что MySQL Router не может инициализироваться и завершает работу.
[DEFAULT] unknown_config_option=warning
-
Type String Запустите mysqlrouter от имени пользователя с именем
user_nameили числовым идентификатором пользователяuser_id. “Пользователь” в этом контексте относится к учетной записи входа в систему, а не к пользователю MySQL, указанному в таблицах прав доступа. Это также можно назначить во время выполнения с помощью параметра командной строки--user.В Linux при установке Router с помощью официальных пакетов DEB или RPM создается локальный системный пользователь и группа с именем "mysqlrouter" на хосте, и MySQL Router запускается от имени этого пользователя по умолчанию. Эта учетная запись не имеет доступа к оболочке, а ее домашний каталог указывает на каталог, в котором хранится файл конфигурации по умолчанию.
Цель этого параметра — запуск MySQL Router от имени пользователя с ограниченными системными правами. Если пользователь не существует в системе или если предпринята попытка запустить Router от имени root, выводится сообщение об ошибке, и Router завершает работу.
MySQL Router может быть загружен и выполнен под любым пользователем операционной системы и не требует специальных привилегий, кроме прав чтения и записи в собственные файлы. К файлам, к которым он обращается, относятся плагины (чтение/выполнение), файл конфигурации, журналы, файлы сокетов домена UNIX (если включены) и многое другое.
По умолчанию файлы конфигурации и журналов записываются в общесистемное расположение, такое как
/etcи/var/log. В качестве альтернативы, Router может быть загружен в собственный автономный каталог с помощью параметра--directory. Например:$>
sudo mysqlrouter --bootstraplocalhost:3310--directory/a/path/myrouter--usersnoopyВ этом примере Router создает
/a/path/myrouterи добавляет сюда все сгенерированные файлы и каталоги, и к ним имеет доступ только на запись системный пользовательsnoopy. Кроме того,userопределяется в сгенерированном конфигурационном файле/a/path/myrouter/mysqlrouter.conf:[DEFAULT] user=snoopy
ПримечаниеЭто отличается от определения
user, определенного в разделе[metadata_cache], которое является пользователем MySQL. -
Type String Путь к файлу SSL CA для проверки сертификата сервера при подключении к серверам метаданных.
Может быть опционально установлен с помощью параметра загрузки
--ssl-ca. -
Type String Путь к каталогу, содержащему файлы SSL CA для проверки сертификата сервера при подключении к серверам метаданных.
Может быть опционально установлен с помощью параметра загрузки
--ssl-capath. -
Type String Путь к файлу SSL CRL, который используется при подключении к серверам метаданных и проверке их сертификата SSL.
Может быть опционально установлен с помощью параметра загрузки
--ssl-crl. -
Type String Путь к каталогу, содержащему файлы SSL CRL, которые используются при подключении к серверам метаданных и проверке их сертификата SSL.
Может быть опционально установлен с помощью параметра загрузки
--ssl-crlpath. -
Type String Список версий TLS, разделенный запятыми, которые необходимо запросить, например, 'TLSv1.2,TLSv1.3', если включен SSL.
Может быть опционально установлен с помощью параметра загрузки
--tls-version. -
Type String Default Value 127.0.0.1Информация, связанная с дополнительным параметром
bind_address:Записи маршрутизации могут быть привязаны к сетевому интерфейсу (NIC). Значение
bind_addressпо умолчанию — 127.0.0.1. Если порт здесь не определен, необходимо установитьbind_port.По умолчанию
--bootstrapустанавливаетbind_address=0.0.0.0для каждого маршрута в сгенерированном конфигурационном файле Router. Это значение может быть изменено с помощью--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_addressс помощьюbind_port. Если порт не настроен вbind_address, тоbind_portявляется обязательным и используется.Необязательно задайте эти значения, используя параметр запуска
--conf-base-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
-
Платформозависимые Linux Тип Строка Сокеты включаются с помощью параметра
socket, который можно указать с или без опций TCPbind_portиbind_address. Пример:[routing] socket = /tmp/mysqlrouter.sock destinations = a.example.com:3306,b.example.com:3307
При запуске MySQL Router Router откажется от запуска, если файл сокета уже существует или в него нельзя записать.
Допустимы относительные пути, основанные на текущей рабочей директории, где запущен Router.
Router может одновременно прослушивать TCP сокеты и Unix-сокеты. Например, следующий пример конфигурации [routing] является допустимым и настраивает Router для прослушивания подключений как по localhost:1234, так и по
/tmp/mysqlrouter.sock:[routing:my_redirect] bind_address = localhost:1234 socket = /tmp/mysqlrouter.sock destinations = localhost:57121, localhost:57122, localhost:57123
ПримечаниеПредел длины Unix-доменного сокета зависит от платформы и не должен превышать разрешенной системой длины.
-
Тип Строка Значение по умолчанию classicДопустимые значения classicxИспользуется плагином маршрутизации при подключении к целевому серверу MySQL и может быть установлено на "classic" (по умолчанию) или "x" (протокол X).
Пример использования:
[routing:basic_failover] bind_port = 7001 destinations = 10.20.200.1:33060, 10.20.200.2:33060 protocol = x
Параметр
protocolтакже влияет на порт по умолчанию, используемый каждым целевым сервером. Если порт целевого сервера не настроен, то порт по умолчанию равен 3306 для "classic" (по умолчанию) или 33060 для "x" (протокол X). -
Тип Строка Устанавливает расположение файла PID. Это можно задать тремя способами (в порядке приоритета): параметром командной строки
--pid-file, задав этотpid_fileпараметр в файле конфигурации Router или определив переменную окруженияROUTER_PID.Если указан
--bootstrap, то определенияpid_fileи ROUTER_PID игнорируются. Это отличается от параметра командной строки--pid-file, который приводит к ошибке Router.Если
--bootstrapне указан, то следующие причины приводят к ошибке Router: файл --pid-file уже существует, pid_file или ROUTER_PID заданы, но пусты, или Router не может записать файл PID. -
Тип Целое число Значение по умолчанию 5Минимальное значение 1Максимальное значение 65536Значение таймаута, используемое MySQL Router при подключении к целевому серверу MySQL. Значение не может быть неограниченным, а некорректное значение приводит к ошибке конфигурации. Допустимый диапазон от 1 до 65536. Это значение следует держать низким.
Пример использования:
[routing] connect_timeout = 5
Может быть задано при запуске с помощью
--conf-set-option=routing.connect_timeout. -
Тип Целое число Значение по умолчанию 5Значение таймаута, используемое MySQL Router при подключении к метаданному серверу MySQL.
Пример использования:
[DEFAULT] connect_timeout = 5
Может быть задано при запуске с помощью либо
--connect-timeout, либо--conf-set-option=DEFAULT.connect_timeout. -
Тип Целое число Значение по умолчанию 30Значение таймаута, используемое MySQL Router при чтении с метаданного сервера MySQL. Значение по умолчанию 30 секунд.
Пример использования:
[DEFAULT] read_timeout = 30
-
Тип Строка Предоставляет информацию об хостах для установления подключений. Принимает либо список адресов целевых серверов через запятую, либо ссылку на кэш метаданных для 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
Доступные URI параметры
metadata-cache:-
role: Определяет тип экземпляров, доступных для подключения. Допустимые значения: PRIMARY, SECONDARY или PRIMARY_AND_SECONDARY.Параметр
routing_strategymysqlrouter.confопределяет конкретную стратегию, а по умолчанию используется стратегия маршрутизации кэша метаданных round-robin. disconnect_on_promoted_to_primary: Управляет тем, закрываются ли существующие клиентские подключения к вторичному узлу, когда вторичный узел повышается до первичного. Значение по умолчанию "no", то есть существующие клиентские подключения к повышенному вторичному узлу не закрываются после повышения. Установите disconnect_on_promoted_to_primary=yes в URI для закрытия этих подключений.disconnect_on_metadata_unavailable: Управляет тем, закрываются ли существующие клиентские подключения, когда группа перегружена. Значение по умолчанию "no", то есть существующие клиентские подключения не закрываются, когда группа перегружена. Установите disconnect_on_metadata_unavailable=yes в URI для закрытия этих подключений.
ПримечаниеСоответственно, эти условия приводят к разрыву подключений: подключения к первичному узлу после понижения первичного узла до вторичного и подключения к узлу, который больше не входит в кластер.
-
-
Type String Этот параметр отслеживает и хранит адреса активных серверов метаданных MySQL InnoDB Cluster и загружает их при перезапуске маршрутизатора. Эта функция активируется с помощью
--bootstrap.Инициализация определяет параметр
dynamic_stateв файлеmysqlrouter.confв разделе [DEFAULT]. Значение представляет собой путь к JSON-файлу с именемstate.json, который создается после инициализации маршрутизатора.state.jsonинициализируется адресами серверов метаданных InnoDB Cluster и идентификатором группы репликации (group_replication_name, возвращаемый InnoDB Cluster); дополнительная информация добавляется и обновляется во время работы маршрутизатора.Пример записи
mysqlrouter.conf:[DEFAULT] dynamic_state=/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" } -
Type String Valid Values first-availablenext-availableround-robinround-robin-with-fallbackСтратегия маршрутизации определяет, как MySQL Router выбирает серверы MySQL для подключения.
Доступные стратегии:
ПримечаниеДокументация по ролям после этого раздела описывает доступные комбинации и конфликты
roleиrouting_strategy.Недоступные пункты назначения помещаются в карантин и пропускаются, и проверяются на доступность каждые
error_quarantine_intervalсекунд. Все стратегии маршрутизации, кромеnext-available, используют это поведение.round-robin: для балансировки нагрузки каждое новое соединение устанавливается со следующим доступным сервером в режиме round-robin.round-robin-with-fallback: для балансировки нагрузки каждое новое соединение устанавливается со следующим доступным вторичным сервером в режиме round-robin. Если вторичный сервер недоступен, то серверы из основного списка используются в режиме round-robin.first-available: новое соединение направляется на первый доступный сервер из списка пунктов назначения. В случае сбоя используется следующий доступный сервер. Этот цикл продолжается до тех пор, пока все серверы не станут недоступны.-
next-available: какfirst-available, в том смысле, что новое соединение направляется на первый доступный сервер из списка пунктов назначения. В отличие отfirst-available, если сервер помечен как недоступный, он отбрасывается и больше никогда не используется в качестве пункта назначения.Ограничения включают:
-
После того, как все узлы выбора отброшены, нет возможности добавить серверы обратно в список.
В отличие от других стратегий, недоступные пункты назначения не проверяются на доступность каждые
error_quarantine_intervalсекунд. После перезапуска MySQL Router все сведения о том, какие серверы были отброшены, теряются, и все серверы снова становятся доступными.
Кэш метаданных не поддерживает политику маршрутизации next-available, поскольку next-available работает только со статической маршрутизацией.
-
Значения по умолчанию и доступные комбинации
role:PRIMARY:round-robinявляется поведением по умолчанию (если routing_strategy не задан), тогда как инициализация добавляетrouting_strategy=first-availableв сгенерированный файл конфигурации MySQL Router. Доступные значения стратегии — first-available и round-robin.SECONDARY:round-robinявляется поведением по умолчанию (если routing_strategy не задан), тогда как инициализация добавляетrouting_strategy=round-robin-with-fallbackв сгенерированный файл конфигурации MySQL Router. Доступные значения стратегии — first-available, round-robin и round-robin-with-fallback.PRIMARY_AND_SECONDARY:round-robinявляется поведением по умолчанию (если routing_strategy не задан). Доступные значения стратегии — first-available, round-robin.
-
Type Integer Default Value 512Minimum Value 1Maximum Value 65536Каждое маршрутизация может ограничивать количество маршрутов или соединений. Одним из возможных применений является предотвращение возможных атак типа «отказ в обслуживании» (DoS). Значение по умолчанию равно 512, а допустимый диапазон — от 1 до 65536.
Это аналогично переменной системы сервера.
[routing:mycluster_default_rw] max_connections = 512
В качестве альтернативы, используйте более новый параметр конфигурации
max_total_connections, который устанавливает одно значение для всех разделов маршрутизатора вместе.Максимальное значение зависит как от ограничений опроса системы (или linux_epoll), так и от количества доступных ядер/потоков ЦП. См. также параметры конфигурации [IO]
backendиthreads.Дополнительная установка
max_connectionsв разделе[DEFAULT]устанавливает значение по умолчанию для каждого пункта назначения маршрутизации. -
Type Integer Default Value 512Minimum Value 1Maximum Value 9223372036854775807Максимальное количество клиентских соединений, обрабатываемых маршрутизатором, чтобы предотвратить исчерпание дескрипторов файлов.
Это аналогично переменной системы сервера.
[DEFAULT] max_total_connections = 512
ПримечаниеУстаревший параметр
max_connectionsустанавливает значение для каждого экземпляра маршрутизации, например, одно значение для чтения и другое для записи. Параметрmax_total_connectionsустанавливает одно значение для всех экземпляров маршрутизации вместе.Значение по умолчанию равно 512, и оно устанавливается в разделе
[DEFAULT]. -
Type Integer Default Value 64Minimum Value 1Maximum Value 65535Размер стека, выделяемый для каждого потока. Он измеряется в килобайтах и по умолчанию равен 64.
[DEFAULT] thread_stack_size=128
-
Type Integer Устанавливает параметр сервера MySQL.
-
Type Integer Default Value 100Minimum Value 1Maximum Value 4294967295Значение по умолчанию равно 100, а допустимый диапазон — от 1 до 2^32 (4294967295, беззнаковое целое число).
Это аналогично переменной системы сервера.
Это может привести к небольшому снижению производительности, если приложение выполняет частые повторные подключения, поскольку MySQL Router пытается определить наличие ошибок, связанных с соединением.
Успешное соединение сбрасывает счетчик ошибок.
Каждое маршрутизация имеет свой собственный список заблокированных хостов. Заблокированные клиенты получают код ошибки сервера MySQL 1129 с немного другим сообщением об ошибке: «1129: Слишком много ошибок соединения от fail.example.com». Журналы Router содержат дополнительную информацию для заблокированных клиентов, например: INFO [...] 1 ошибка аутентификации для fail.example.com (максимум 100) WARNING [...] блокировка клиентского хоста fail.example.com
max_connect_errors = 100
-
Type Integer Default Value 9Minimum Value 2Maximum Value 31536000Это аналогично переменной серверной системы.
Значение по умолчанию равно 9, что на единицу меньше, чем значение по умолчанию для MySQL 5.7. Допустимый диапазон значений — от 2 до 31536000.
client_connect_timeout = 9
-
Type Numeric Default Value 2Minimum Value 0.001Maximum Value 3600Время (в секундах) между попытками обновления кэша авторизации. Значение по умолчанию — 2. Значение должно быть меньше, чем
auth_cache_ttl, и больше, чемttl, иначе маршрутизатор не запустится.Этот параметр применяется, если параметр
backendраздела http_auth_backend установлен в metadata_cache; это функция REST API маршрутизатора. -
Type Numeric Default Value -1Minimum Value 0.001Maximum Value 3600Время (в секундах), по истечении которого кэш становится недействительным, если он не обновляется. Значение по умолчанию — -1 (бесконечно). Значение должно быть больше, чем
auth_cache_refresh_interval, иttl, иначе маршрутизатор не запустится.Этот параметр применяется, если параметр
backendраздела http_auth_backend установлен в metadata_cache; это функция REST API маршрутизатора. -
Type Integer Maximum Value 4294967295Идентификатор MySQL Router.
-
Type String Default Value Имя файла сертификата открытого ключа SSL в формате PEM. Он используется для обеспечения аутентификации на стороне сервера во время процесса загрузки.
-
Type String Default Value Имя файла закрытого ключа SSL в формате PEM, используемого для шифрования соединений маршрутизатора с сервером. См. также Раздел 4.4, «Конфигурация TLS» .
-
Type String По умолчанию используется защищенный список кривых SSL. Отформатируйте эту строку как список имен кривых, разделенных двоеточием.
-
Type String По умолчанию используется защищенный список шифров SSL. Отформатируйте эту строку как список имен шифров, разделенных двоеточием.
-
Type String Default Value DISABLEDValid Values DISABLEDVERIFY_CAVERIFY_IDENTITYПроверка сертификатов SSL, предоставляемых сервером маршрутизатору.
DISABLED: соединение прерывается, если сервер не предоставляет сертификат во время рукопожатия.VERIFY_CA: соединение прерывается, если сертификат сервера не соответствует доверенному центру сертификации (ЦС), которому доверяет MySQL Router.VERIFY_IDENTITY: соединение прерывается, если сертификат сервера не соответствует доверенному центру сертификации (ЦС), которому доверяет MySQL Router, или субъект сертификата сервера не соответствует имени хоста или IP-адресу, к которому подключился MySQL Router.
-
Type String Default Value AS_CLIENTValid Values AS_CLIENTDISABLEDPREFERREDREQUIREDРежим SSL-соединения, используемый при подключении между MySQL Router и сервером. См. также Раздел 4.4, «Конфигурация TLS» .
-
Command-Line Format --server-ssl-ca file_pathType String Default Value Имя файла сертификата центра сертификации (ЦС) в формате PEM. Файл содержит список доверенных центров сертификации SSL. См. также Раздел 4.4, «Конфигурация TLS» .
-
Command-Line Format --server-ssl-capath dir_pathType String Default Value Имя каталога, содержащего доверенные файлы сертификатов центров сертификации SSL (ЦС) в формате PEM. См. также Раздел 4.4, «Конфигурация TLS» .
-
Command-Line Format --client-ssl-cert file_pathType String Default Value Имя файла сертификата открытого ключа SSL в формате PEM. Он используется для обеспечения аутентификации на стороне клиента во время процесса загрузки.
Как и
-client_ssl_key, этот параметр используется только во время загрузки, которая использует учетную запись root. Это полезно, когда учетная запись root была создана с REQUIRE X509, и поэтому для входа в систему как root требуется, чтобы клиент аутентифицировал себя. -
Command-Line Format --server-ssl-crlpath dir_pathType String Default Value Путь к каталогу, содержащему файлы списка отзыва сертификатов в формате PEM. См. также Раздел 4.4, «Конфигурация TLS» .
-
Формат командной строки --server-ssl-crl file_pathТип Строка Значение по умолчанию Путь к файлу, содержащему списки отзыва сертификатов в формате PEM. См. также Раздел 4.4, «TLS-настройка» .
-
Формат командной строки --client-ssl-key file_pathТип Строка Значение по умолчанию Путь к файлу с закрытым ключом SSL в формате PEM, используемому для шифрования подключений «клиент-маршрутизатор». См. также Раздел 4.4, «TLS-настройка» .
-
Тип Строка Имя файла параметров DH. Если указано и не пусто, то параметры DH из этого файла будут использоваться вместо внутренних параметров DH по умолчанию. Файл параметров DH должен быть в формате PEM.
-
Тип Строка Допустимые кривые между клиентом и MySQL Router, по умолчанию используется безопасный список кривых SSL. Строка форматируется как список имён кривых, разделённых двоеточием.
-
Тип Строка Допустимые шифры между клиентом и MySQL Router, по умолчанию используется безопасный список шифров SSL. Строка форматируется как список имён шифров, разделённых двоеточием.
-
Тип Строка Значение по умолчанию PREFERREDДопустимые значения PREFERREDDISABLEDPASSTHROUGHREQUIREDУправляет обязательностью шифрования подключений от клиента к MySQL Router. См. также Раздел 4.4, «TLS-настройка» .
-
Тип Строка Значение по умолчанию PREFERREDДопустимые значения PREFERREDDISABLEDREQUIREDVERIFY_CAVERIFY_IDENTITYРежим SSL для подключения к серверу метаданных MySQL. По умолчанию равен
PREFERRED, если не задан.При значении PREFERRED (по умолчанию) при запуске будет предупреждение, если SSL не используется и подключение к серверу метаданных не зашифровано.
Доступные значения: DISABLED, PREFERRED, REQUIRED, VERIFY_CA, и VERIFY_IDENTITY. Как и в клиенте mysql, регистр значения не важен.
Также есть параметр для запуска; см.
--ssl-mode. -
Тип Строка Сгенерированный пользователь MySQL с привилегиями для доступа к схеме метаданных сервера MySQL. Пароль этого пользователя сгенерирован автоматически и хранится в зашифрованном ключевом хранилище. По умолчанию ключ шифрования для этого хранилища хранится в защищённом файле главного ключа, который определён в конфигурационном файле. Чаще всего, этот пользователь и соответствующий пароль генерируются автоматически во время запуска. Связанные параметры командной строки:
--force-password-validationи--password-retries. По умолчанию сгенерированный пароль проходит проверку на сложность STRONG.Пароль полностью управляется Router и никогда не раскрывается, а хранится в локальной системе хранилищ ключей с использованием учётной записи операционной системы, под которой работает MySQL Router. Затем он может использоваться Router для подключения к InnoDB Cluster и получения текущей информации о топологии. Сессии между Router и сервером метаданных шифруются с помощью 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_
{router_id}_[0-9a-z]{7}, где {router_id} — числовой идентификатор маршрутизатора, а [0-9a-z]{7} — 7 случайных строчных буквенно-цифровых символов. Идентификатор маршрутизатора повторно используется, если он уже присутствует вmysqlrouter.conf, и его значение не может превышать 4294967295 (2^32-1).ПримечаниеЭтот пользователь отличается от определения
user, определённого в разделе[DEFAULT], который является системным пользователем.Эта структура изменилась в MySQL Router 8.4.1, ранее она была mysql_router_
[0-9]{1,6}_[0-9a-z]{12}. -
Тип Строка Имя InnoDB Cluster.
ПримечаниеSQL-запрос для перечисления имён MySQL InnoDB кластеров: SELECT * FROM mysql_innodb_cluster_metadata.clusters;
-
Тип Integer Значение по умолчанию 0Допустимые значения 01Включает уведомления о репликации групп. Когда эта функция включена, маршрутизатор асинхронно уведомляется о большинстве изменений кластера. Её можно включить вручную в
mysqlrouter.confили включить там же с помощью параметра командной строки--conf-use-gr-notificationsво время загрузки.Когда маршрутизатор получает любые из следующих уведомлений от Group Replication, он обновляет метаданные кластера:
group_replication/membership/quorum_loss
group_replication/membership/view
group_replication/status/role_change
group_replication/status/state_change
ПримечаниеФункция уведомлений Group Replication требует подключения X Protocol от маршрутизатора к каждому экземпляру, на котором должен работать плагин X. Если подключение X Protocol недоступно, обновление метаданных выполняется через интервалы
ttl, как если бы функция уведомлений не была включена.Хотя уведомления Group Replication полагаются на подключение X Protocol, полученные уведомления запускают обновление метаданных, которое использует классическое подключение протокола MySQL к экземпляру.
Когда включена, функция уведомления Group Replication позволяет использовать более высокое значение
ttl, поскольку обновления метаданных, выполняемые через интервалыttl, становятся дополнительной защитой, а не основным средством поддержания актуальности информации о состоянии кластера. Когда отключена, рекомендуется использовать низкое значениеttl(например, 0,5 с, по умолчанию), чтобы избежать накладных расходов на повторное подключение к экземплярам и частый запрос изменений метаданных. -
Тип Numeric Значение по умолчанию 0.5Минимальное значение 0Максимальное значение 3600Время жизни (в секундах) информации в кэше метаданных.
Принимает целое или число с плавающей точкой. Шаг равен миллисекундам, где 0,001 эквивалентно одной миллисекунде. Точность усекается до поддерживаемого диапазона; например, TTL=0.0119 обрабатывается как 11 миллисекунд. Значение 0 означает, что модуль кэша метаданных постоянно запрашивает метаданные в цикле.
Значение должно быть меньше, чем
auth_cache_refresh_intervalиauth_cache_ttl, иначе маршрутизатор не запустится.Единственным поддерживаемым десятичным разделителем является «.» (точка) независимо от локали, и поддерживается экспоненциальная запись, например TTL=1.6E-2.
-
Тип String Значение по умолчанию (Windows) CONЗначение по умолчанию (другие) /dev/stderrДопустимые значения (Windows) CONNULДопустимые значения (другие) /dev/null/dev/stderr/dev/stdoutНаправляет вывод консольного журнала в это устройство назначения; устанавливается в разделе [consolelog]. По умолчанию используется /dev/stderr, а пустое значение использует значение по умолчанию.
Доступные значения:
/dev/stdout,/dev/stderrи/dev/null; илиCONиNULв Windows.[DEFAULT] logging_folder= [consolelog] destination=/dev/null
-
Тип String Перенаправляет вывод журнала в определённый файл с именем
filename, расположенный в каталогеlogging_folder. Он должен быть определён как имя файла, а не путь к файлу, и работает как с разделами [logger], так и с [filelog].Использование
filenameс [logger] для определения значения по умолчанию для раздела [filelog], а также изменяет файл журнала маршрутизатора сmysqlrouter.logна это новое значение.[DEFAULT] logging_folder=/path/to/logs/ [logger] filename = router_error.log
Маршрутизатор не сообщает об ошибке, если filename установлен в [logger], но не используется ни один регистратор на основе файла.
Использование
filenameс [filelog]:[DEFAULT] logging_folder=/path/to/logs/ [filelog:a] filename = a_router_error.log [filelog:b] filename = b_router_error.log
Если filename пуст или не установлен в [filelog], используется определение filename в [logger]; а если filename не установлен и в [logger], используется файл журнала по умолчанию (
mysqlrouter.log).Соответственно, перенаправление консольного вывода в
/dev/null:[DEFAULT] logging_folder= [consolelog] destination=/dev/null
-
Тип String Значение по умолчанию INFOДопустимые значения DEBUGNOTEINFOWARNINGERRORSYSTEMFATALИспользуйте плагин logger для регистрации уведомлений, ошибок и информации для отладки. Доступные уровни журнала: DEBUG, NOTE, INFO (по умолчанию), WARNING, ERROR, SYSTEM и FATAL. Эти значения нечувствительны к регистру.
Уровень INFO отображает все информационные сообщения, предупреждения и сообщения об ошибках. Уровень DEBUG отображает дополнительную диагностическую информацию из кода маршрутизатора, включая успешные маршруты. SYSTEM включает сообщения, такие как сообщения о запуске.
[logger] level = DEBUG
Поведение вывода зависит от параметра
logging_folder. Установкаlogging_folderв папку сохраняет файл журнала с именемmysqlrouter.logв этой папке. Установкаlogging_folderв пустое значение или его отсутствие выводит журнал на консоль. Он устанавливается в разделе [DEFAULT].Загрузка принимает конфигурационный файл с помощью
--configи использует определение уровня журнала. -
Тип String Точность метки времени журнала; доступные определения с примерами значений:
second, sec, or s: 2019-05-10 12:10:25millisecond, msec, or ms: 2019-05-10 12:10:25.428microsecond, usec, or us: 2019-05-10 12:10:25.428754nanosecond, nsec, ns: 2019-05-10 12:10:25.428754000
-
Тип Integer Значение по умолчанию 8081TCP-порт, прослушивающий HTTP-запросы; по умолчанию 8081.
-
Type String Default Value 0.0.0.0IP-адрес, привязанный к HTTP
port; по умолчанию 0.0.0.0. -
Type String Базовый каталог для запросов статических файлов; по умолчанию пустой. Пустое значение означает, что статические файлы не обслуживаются.
-
Type String Имя экземпляра [http_auth_realm].
-
Type Integer Default Value 1Valid Values 10Значение 1 включает SSL, а 0 отключает его. Требуются клиенты TLS, поддерживающие TLSv1.2 или более поздние версии. Это определяется в разделе [http_server].
-
Type String Имя файла сертификата и его цепочки сертификации в формате PEM; требуется, если ssl=1. Это определяется в разделе [http_server].
-
Type String Имя файла ключа в формате PEM; требуется, если ssl=1. Это определяется в разделе [http_server].
-
Type String Cipher-spec (см. список «ciphers» в openssl). По умолчанию используется разделенный запятыми список всех утвержденных шифров. Неизвестные шифры игнорируются без сообщений об ошибках. Возникает ошибка, если список шифров пуст и ssl=1. Это определяется в разделе [http_server].
-
Type String Прочитать параметр DH из этого файла в формате PEM. По умолчанию используется dh-param из RFC 5114, если ssl=1. Это определяется в разделе [http_server].
-
Type Integer Default Value 60Определяет частоту (в секундах), с которой MySQL Router отправляет сообщение keepalive ping. Общее количество пингов определяется параметром конфигурации
runs.[keepalive] interval = 42 runs = 0
ПримечаниеПлагин keepalive существует в тестовых целях и его можно безопасно удалить после настройки MySQL Router. Поскольку для запуска требуется хотя бы один активный плагин, файл конфигурации по умолчанию включает плагин keepalive, чтобы MySQL Router не завершал работу немедленно. Плагин keepalive не активен, если включен другой плагин.
-
Type Integer Default Value 0Ограничивает количество интервалов, в течение которых MySQL Router отправляет сообщение keepalive ping. Установка значения 0 (по умолчанию) означает, что он выполняется до тех пор, пока MySQL Router не будет выключен. Частота определяется параметром
interval.[keepalive] interval = 42 runs = 0
ПримечаниеПлагин keepalive существует в тестовых целях и его можно безопасно удалить после настройки MySQL Router. Поскольку для запуска требуется хотя бы один активный плагин, файл конфигурации по умолчанию включает плагин keepalive, чтобы MySQL Router не завершал работу немедленно. Плагин keepalive не активен, если включен другой плагин.
-
Type String Default Value (Windows) pollDefault Value (Other) linux_epollValid Values (Windows) pollValid Values (Other) linux_epollpollБэкэнд ввода-вывода, который обрабатывает асинхронные операции. Универсальный бэкэнд опроса доступен на всех платформах, в то время как каждая платформа может предоставлять альтернативные бэкэнды.
Доступные варианты:
poll(все платформы) иlinux_epoll(Linux). По умолчанию используетсяlinux_epollв Linux.[io] backend=linux_epoll threads=32
ПримечаниеЭто один из нескольких параметров
backend, каждый в разных[с разными целями:section][io] backendдля асинхронных операций.[http_auth_realm] backendопределяет пользовательское имя для бэкэнда, связанного с определенной областью[http_auth_backend] backendтип бэкэнда аутентификации
-
Type Integer Default Value 0Minimum Value 0Maximum Value 1024Количество потоков ввода-вывода, которые обрабатывают подключения.
По умолчанию 0 (использует все доступные ядра/потоки ЦП), но также принимает число от 1 до 1024. Во время выполнения система может ограничить верхний предел выше этого значения.
[io] backend=linux_epoll threads=32
-
Type Integer Default Value 1Minimum Value 0Maximum Value 2^63-1Секунды ожидания, прежде чем неактивное серверное соединение станет доступно для повторного использования другим клиентским соединением.
См. Раздел 3.4, «Общий доступ к соединениям и повторное использование».
-
Type Integer Default Value 0Minimum Value 0Maximum Value 1Включать ли общий доступ к соединениям.
См. Раздел 3.4, «Общий доступ к соединениям и повторное использование».
-
Type Integer Default Value 5Minimum Value 1Maximum Value 4294967296Количество секунд для хранения бездействующего соединения в пуле соединений перед его закрытием. Это значение устанавливается в разделе [connection_pool] и влияет на все маршруты в пуле соединений. По умолчанию равно 5, принимает значение от 1 до 4294967296.
-
Type Integer Default Value 0Minimum Value 0Maximum Value 4294967296Соединения, которые необходимо поддерживать открытыми в пуле соединений после отключения клиента; и устанавливается в разделе
[connection_pool]. Значение по умолчанию равно 0, что отключает пул соединений. -
Type Boolean Default Value 1Включает или отключает кэш для сеансов TLS клиент-роутер.
NoteВключен по умолчанию. Если этот параметр не установлен, кэш включен. Для отключения кэша необходимо явно его определить.
-
Type Integer Default Value 1024Minimum Value 1Maximum Value 2^31-1Определяет максимальное количество кэшированных сеансов. Если добавление нового сеанса в кэш приводит к тому, что количество кэшированных сеансов превышает установленный максимум, самый старый кэшированный сеанс удаляется, чтобы разрешить кэширование самого нового.
-
client_ssl_session_cache_timeoutType Integer Default Value 300Minimum Value 1Maximum Value 84600Определяет максимальное время, в секундах, в течение которого сеанс остается в кэше. Если время ожидания истекло, и этот сезон не используется повторно, сеанс удаляется из кэша, и соединение закрывается.
-
Type Boolean Default Value 1Включает или отключает кэш для сеансов TLS роутер-сервер.
NoteВключен по умолчанию. Если этот параметр не установлен, кэш включен. Для отключения кэша необходимо явно его определить.
-
Type Integer Default Value 1024Minimum Value 1Maximum Value 2^31-1Определяет максимальное количество кэшированных сеансов. Если добавление нового сеанса в кэш приводит к тому, что количество кэшированных сеансов превышает установленный максимум, самый старый кэшированный сеанс удаляется, чтобы разрешить кэширование самого нового.
-
server_ssl_session_cache_timeoutType Integer Default Value 300Minimum Value 1Maximum Value 84600Время в секундах до удаления сеансов TLS из кэша сеансов TLS сервера.
-
Type Integer Default Value 7Minimum Value 1Maximum Value 3600Если классическое соединение завершается неудачей с преходящей ошибкой, такой как
max-connections reached, MySQL Router ожидает определенное количество секунд, прежде чем повторить попытку соединения. Попытка соединения повторяется в соответствии с определенной стратегией маршрутизации.Если
connect_retry_timeoutне определено, по умолчанию используется 7 секунд. Если значениеconnect_retry_timeoutопределено за пределами допустимого диапазона значений, MySQL Router не запустится.NoteЕсли включено совместное использование соединений, повторная попытка соединения осуществляется с тем же сервером, что и при первой попытке соединения.
Если соединение завершается неудачей с преходящей ошибкой после успешной аутентификации, повторная попытка соединения возможна только в том случае, если соединение клиент-роутер зашифровано с помощью TLS или имеет открытый ключ.
Таблица 4.18 Режимы SSL и повторная попытка
Таблица 4.18 Режимы SSL и повторная попытка client_ssl_mode
server_ssl_mode
Supports Retry
PASSTHROUGH
Any
No
DISABLED
Any
No
PREFERRED
AS_CLIENT
No
PREFERRED
Any other mode
Yes
REQUIRED
Any
Yes
-
Type String Имя раздела
[http_auth_backend].NoteЭто один из нескольких параметров
backend, каждый в отдельном разделе[с различным назначением:section][io] backendдля асинхронных операций.[http_auth_realm] backendопределяет пользовательское имя для бэкэнда, связанного с определенной областью[http_auth_backend] backendтип бэкэнда аутентификации
-
Type String Default Value basicМетод HTTP-аутентификации; по умолчанию basic.
-
Type String Имя области, представленное пользователю для аутентификации.
-
Тип Строка Значение по умолчанию valid-userТребует, чтобы пользователь авторизовался через механизм аутентификации; по умолчанию значение
valid-user, что включает эту проверку. -
Тип Строка Значение по умолчанию fileНазвание реализации бэкенда; допустимые значения —
file(по умолчанию) илиmetadata_cache.[http_auth_backend:name] backend=metadata_cache [metadata_cache] auth_cache_refresh_interval=2 auth_cache_ttl=-1
ПримечаниеЭто один из нескольких вариантов
backend, каждый в отдельном[с различным назначением:section][io] backendдля асинхронных операций.[http_auth_realm] backendопределяет пользовательское имя для бэкенда, связанного с определённым областью.[http_auth_backend] backendтип бэкенда аутентификации.
-
Тип Строка Имя файла хранения бэкенда, относительно каталога
data_folder. -
Тип Строка Допустимые значения grrsТип объекта AdminAPI, к которому был инициализирован маршрутизатор: InnoDB ReplicaSet (rs) или InnoDB Cluster (gr). Используйте 'gr' для кластеров.
Инициализация оценивает целевой экземпляр и устанавливает этот параметр соответствующим образом в сгенерированном конфигурационном файле.
-
Тип Целое число Значение по умолчанию 1Минимальное значение 1Максимальное значение 65535Определяет интервал в секундах между проверками работоспособности изолированных целевых подключений. Если подключение возможно, целевой сервер удаляется из карантина и становится доступным.
Если задано недопустимое значение, MySQL Router не запускается, и об этом регистрируется ошибка.
Например:
[destination_status] error_quarantine_threshold=5 error_quarantine_interval=20ПримечаниеЕсли значение не определено в конфигурационном файле, используется значение по умолчанию 1.
-
Тип Целое число Значение по умолчанию 1Минимальное значение 1Максимальное значение 3600Определяет порог последовательных неудачных попыток подключения к целевому серверу маршрутизации, прежде чем MySQL Router поместит этот сервер в карантин и прекратит его использование, пока он не будет освобождён механизмом карантина. Например, если установлено значение 5, целевой сервер помещается в карантин после 5 неудачных попыток подключения.
Если задано недопустимое значение, MySQL Router не запускается, и об этом регистрируется ошибка.
Например:
[destination_status] error_quarantine_threshold=5 error_quarantine_interval=20ПримечаниеЕсли значение не определено в конфигурационном файле, используется значение по умолчанию 1.
© 2025 Oracle
Licensed under the GPLv2 License.