Spec-Zone.ru › MySQL Router 8.4

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

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

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

  • Пользовательские и дополнительные файлы конфигурации

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

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

  • Конфигурация 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 по умолчанию ищет в следующих местах, хотя эти места зависят от системы:

  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.

Например:

$> 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.conf

  • RPM и 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.conf, где username заменяется именем вашего пользователя.

  • Помимо 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.
https://docs.oracle.com/cd/E17952_01/mysql-router-8.4-en/mysql-router-configuration-file-locations.html

Spec-Zone.ru

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