ちゃんるいすのブログ

オタクエンジニアの雑記

俺的 MySQL Router まとめ


1. MySQL Router はどこで動かすべきか

パフォーマンスのために、アプリケーションと同じノードにインストールするのが良いらしい。
ネットワークのレイテンシも、ソケットで接続もできるから。

2. MySQL Router を挟むことでパフォーマンスに影響はあるか

直接 MySQL Server への接続と比較して約1%以内、パフォーマンスに悪影響を与える。

2. bootstrap を実行したあとは気をつけろ

# mysqlrouter --bootstrap db02 --user=root --force

root 権限で、↑ を実行する。

# ll /etc/mysqlrouter/
-rw------- 1 root root 1080  7月 22 10:12 mysqlrouter.conf
-rw------- 1 root root 1137  7月 22 10:03 mysqlrouter.conf.bak
-rw------- 1 root root   86  6月 22 10:27 mysqlrouter.key

mysqlrouter.conf が root/root 600 で作成される。

[Unit]
Description=MySQL Router
After=syslog.target
After=network.target

[Service]
Type=simple
User=mysqlrouter
Group=mysqlrouter

PIDFile=/var/run/mysqlrouter/mysqlrouter.pid

ExecStart=/usr/bin/mysqlrouter -c /etc/mysqlrouter/mysqlrouter.conf

PrivateTmp=true

[Install]
WantedBy=multi-user.targe

mysqlrouter.service には
User=mysqlrouter
Group=mysqlrouter

で実行されるようになってる。

あとは分かるな、、、?

3. REST APIMySQL Router のメトリクスを取りたい

8.0.17 から REST APIMySQL Router の情報が取れる。

REST API の有効化

lefred.be

Prometheus exporter と Grafana を使えば可視化も可能(どちらもワイ作)

https://camo.githubusercontent.com/b82c62efdb46d38f3a9397d15d1906c449a10ffb/68747470733a2f2f67726166616e612e636f6d2f6170692f64617368626f617264732f31303734312f696d616765732f363738322f696d616765

github.com
github.com