4.2 Местоположения файлов конфигурации
MySQL Router ищет файлы конфигурации по умолчанию при запуске и, по желанию, загружает пользовательские файлы конфигурации во время выполнения из командной строки.
Местоположения файлов конфигурации по умолчанию
По умолчанию MySQL Router ищет свои файлы конфигурации в определённых местах, которые зависят от платформы и способа установки MySQL Router.
Вы можете изменить расположение по умолчанию во время компиляции, используя опцию -DROUTER_CONFIGDIR=<path>. Вы также можете изменить cmake/settings.cmake, чтобы изменить расположения по умолчанию перед компиляцией MySQL Router, тем самым добавив новые расположения или исключения для определённых платформ.
Выполните mysqlrouter --help, чтобы увидеть расположения файлов конфигурации по умолчанию (и их доступность) в вашей системе. Например:
$> mysqlrouter --help
...
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 по умолчанию ищет в следующих местах, хотя эти места зависят от системы:
-
/etc/mysqlrouter/mysqlrouter.confПримечаниеВ отличие от MySQL-сервера, обратная совместимая директория "
/etc/mysqlrouter.conf" не поддерживается. $HOME/.mysqlrouter.conf
Для обратной совместимости MySQL Router также ищет вариант .ini в каждом каталоге. При этом Router ищет .conf в начальном каталоге, затем проверяет .ini, и повторяет этот процесс в следующем каталоге, который обычно является домашним каталогом пользователя в системе.
Пользовательские и дополнительные файлы конфигурации
Две опции командной строки помогают управлять этими расположениями файлов конфигурации:
-
--config(или-c): Считывает базовые настройки из этого файла и не использует или не ищет пути к файлам по умолчанию.Пример использования: при генерации автономной установки MySQL Router с опцией
--directoryгенерируемаяstart.shпередаёт эту опцию генерируемойmysqlrouter.confвнутри этого каталога.
--extra-config(или-a): Читает этот дополнительный файл конфигурации после того, как файлы конфигурации прочитаны из расположений по умолчанию или из файлов, указанных с помощью опции--config.
Например:
$> mysqlrouter --config /custom/path/to/router.conf --extra-config /another/config.conf
Можно передать несколько дополнительных опций конфигурации, и файлы загружаются в том порядке, в котором они введены, при этом опции --config загружаются перед опциями --extra-config. Например:
$> 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.confRPM и Debian:
/etc/mysqlrouter/mysqlrouter.confНа всех системах автономная установка с помощью
--directoryдобавляетmysqlrouter.confв каталог, определённый параметром --directory.
Местоположения файлов конфигурации по умолчанию (Windows)
Местоположения файлов по умолчанию, которые MySQL Router ищет для файлов конфигурации в Windows.
Выполните mysqlrouter.exe --help, чтобы увидеть расположения файлов конфигурации по умолчанию (и их доступность) в вашей системе.
Установка по умолчанию для всей системы в
C:\ProgramData\MySQL\MySQL Router:C:\ProgramData\MySQL\MySQL Router\mysqlrouter.confДополнительно:
C:\Users\, гдеusername\AppData\Roaming\mysqlrouter.confusernameзаменяется именем вашего пользователя.Помимо mysqlrouter.conf, для обратной совместимости система также ищет mysqlrouter.ini.
С помощью
--directory: автономная установка с помощью--directoryдобавляетmysqlrouter.confв каталог, определённый параметром --directory.
Конфигурация MySQL Router в метаданных кластера
Начиная с MySQL Router 8.4, полная конфигурация маршрутизаторов, запущенных на основе кластера InnoDB, хранится в схеме метаданных кластера InnoDB и может быть прочитана операцией MySQL Shell, , для кластера, набора кластеров и репликационных наборов.object.routerOptions
Конфигурация хранится в виде JSON на основе маршрутизатора в таблице mysql_innodb_cluster_metadata.routers с одной строкой на каждый маршрутизатор. Каждая строка маршрутизатора обновляется маршрутизатором при запуске или перезапуске.
Например:
mysql> select JSON_PRETTY(attributes->>'$.Configuration') as Configuration from mysql_innodb_cluster_metadata.routers \G
Configuration: {
"io": {
"backend": "poll",
"threads": 0
},
"common": {
"name": "system",
"user": "",
"read_timeout": 30,
"client_ssl_key": "/Users/areliga/dev/server/mysql-trunk/build/pt/data/router-key.pem",
"client_ssl_cert": "/Users/areliga/dev/server/mysql-trunk/build/pt/data/router-cert.pem",
"client_ssl_mode": "PREFERRED",
"connect_timeout": 5,
"server_ssl_mode": "PREFERRED",
"server_ssl_verify": "DISABLED",
"max_total_connections": 512,
"unknown_config_option": "error",
"router_require_enforce": true,
"max_idle_server_connections": 64
},
"loggers": {
"filelog": {
"level": "info",
"filename": "mysqlrouter.log",
"destination": "",
"timestamp_precision": "second"
}
},
"endpoints": {
"bootstrap_ro": {
......
}
}
Подробнее см. .
Для обратной совместимости MySQL Router продолжает хранить некоторые параметры конфигурации в JSON attributes в mysql_innodb_cluster_metadata.routers.
Например:
select JSON_PRETTY(attributes) from mysql_innodb_cluster_metadata.routers;
| {
"ROEndpoint": "6447",
"RWEndpoint": "6446",
"ROXEndpoint": "6449",
"RWXEndpoint": "6448",
"RWSplitEndpoint": "6450",
"MetadataUser": "mysql_router1_plje99d",
"Configuration": { /*...*/ },
"bootstrapTargetType": "cluster"
} |
© 2025 Oracle
Licensed under the GPLv2 License.