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 в метаданных кластера
Полная конфигурация маршрутизаторов, созданных на основе кластера InnoDB, хранится в схеме метаданных InnoDB Cluster и может быть прочитана операцией 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 продолжает хранить некоторые параметры конфигурации в attributes JSON в 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.