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

Глава 5. Применение MySQL Router

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

Есть много вариантов, доступных для управления, выполняя mysqlrouter. См. описание mysqlrouter.

5.1. Запуск MySQL Router

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

Процесс формирования MySQL Router для автозапуска подобен шагам, необходимым для сервера MySQL, которые описаны в Starting and Stopping MySQL Automatically.

Например, используя systemd:

shell> sudo systemctl start mysqlrouter.service
shell> sudo systemctl enable mysqlrouter.service

Вывод журнала в качестве примера

Старт MySQL Router производит несколько записей в журнале, например, соединяясь с кластером InnoDB:

shell> mysqlrouter --config=/path/to/file/my_router.conf
^C

shell> less /path/to/log/mysqlrouter.log
2017-04-07 16:30:49 INFO[0x7000022fc000] [routing:devCluster_default_ro] started: listening on 0.0.0.0:6447; read-only
2017-04-07 16:30:49 INFO[0x70000237f000] [routing:devCluster_default_rw] started: listening on 0.0.0.0:6446; read-write
2017-04-07 16:30:49 INFO[0x700002402000] [routing:devCluster_default_x_ro] started: listening on 0.0.0.0:64470; read-only
2017-04-07 16:30:49 INFO[0x700002485000] [routing:devCluster_default_x_rw] started: listening on 0.0.0.0:64460; read-write
2017-04-07 16:30:49 INFO[0x700002279000] Starting Metadata Cache
2017-04-07 16:30:49 INFO[0x700002279000] Connections using ssl_mode 'PREFERRED'
2017-04-07 16:30:49 INFO[0x700002279000] Connected with metadata server running on 127.0.0.1:3310
2017-04-07 16:30:49 INFO[0x700002279000] Changes detected in cluster 'devCluster' after metadata refresh
2017-04-07 16:30:49 INFO[0x700002279000] Metadata for cluster 'devCluster' has 1 replicasets:
2017-04-07 16:30:49 INFO[0x700002279000] 'default' (3 members, single-master)
2017-04-07 16:30:49 INFO[0x700002279000] localhost:3310 / 33100 - role=HA mode=RW
2017-04-07 16:30:49 INFO[0x700002279000] localhost:3320 / 33200 - role=HA mode=RO
2017-04-07 16:30:49 INFO[0x700002279000] localhost:3330 / 33300 - role=HA mode=RO
2017-04-07 16:30:49 INFO[0x700002714000] Connected with metadata server running on 127.0.0.1:3310

Регистрация показывает, что MySQL Router слушает на четырех портах, перечисляет активные стратегии направления по имени, информацию о кластере InnoDB и прочее.

Например, первая строка перечисляет активные стратегии направления под именем routing:devCluster_default_ro, слушающую порт 6447 в режиме read-only. Соответствующая секция в конфигурационном файле MySQL Router:

[routing:devCluster_default_ro]
bind_address=0.0.0.0
bind_port=6447
destinations=metadata-cache://devCluster/default?role=SECONDARY
mode=read-only
protocol=classic

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

В Windows MySQL Router может установить, удалить или начать обслуживание. По умолчанию сервисное название MySQLRouter . См. --service и связанные параметры командной строки для служб Windows.

Примеры скриптов Start и Stop

Самонастройка MySQL Router с опцией --directory производит скрипты bash для запуска и остановки MySQL Router, которые выглядят подобными следующему:

// *** start.sh *********************** //
#!/bin/bash
basedir=/opt/myrouter
ROUTER_PID=$basedir/mysqlrouter.pid /usr/bin/mysqlrouter -c $basedir/mysqlrouter.conf &
disown %-

// *** stop.sh *********************** //
if [ -f /opt/myrouter/mysqlrouter.pid ]; then
kill -HUP `cat /opt/myrouter/mysqlrouter.pid`
rm -f /opt/myrouter/mysqlrouter.pid
fi

5.2. Использование функции журналирования

Эта функция может быть удобной для развития и тестирования вашего приложения и развертывания MySQL Router. Чтобы использовать регистрацию, включите в конфигурационном файле опцию level в секции [logger]:

[logger]
level = INFO

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

[DEFAULT]
# Logs are sent to /path/to/folder/mysqlrouter.log
logging_folder = /path/to/folder

[logger]
level = DEBUG

Установка logging_folder к пустой строке посылает сообщения на консоль (stdout).

Два общих уровня регистрации INFO (по уомлчанию) и DEBUG:

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

Следующий пример показывает то, на что сообщения похожи для уровня журналирования DEBUG, сравните сообщения INFO и DEBUG:

2017-04-07 18:25:56 INFO[0x700009673000] Connections using ssl_mode 'PREFERRED'
2017-04-07 18:25:56 INFO[0x700009673000] Connected with metadata server running on 127.0.0.1:3310
2017-04-07 18:25:56 DEBUG [0x700009673000] Updating metadata information for cluster 'devCluster'
2017-04-07 18:25:56 DEBUG [0x700009673000] Updating replicaset status from GR for 'default'
2017-04-07 18:25:56 DEBUG [0x700009673000] Replicaset 'default' has 3 members in metadata, 3 in status table
2017-04-07 18:25:56 DEBUG [0x700009673000] End updating replicaset for 'default'
2017-04-07 18:25:56 INFO[0x700009673000] Changes detected in cluster 'devCluster' after metadata refresh
2017-04-07 18:25:56 INFO[0x700009673000] Metadata for cluster 'devCluster' has 1 replicasets:

Поиск

 

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

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