MySQL admin_address にワイルドカードは指定不可
先日書いたエントリーについて、
MySQL Weekly で tom__bo さんから頂いた、感想へのフィードバック(と補足)です。
僕がやりたかったこと
- 接続あふれしている時でも、DBAは管理者アカウントで接続できるようにしたい
- しかし、管理者アカウントは増やしたくない
- 今ある、
root@localhost
だけを使いたい SERVICE_CONNECTION_ADMIN
権限を持ったユーザを追加で作ることも避けたい
- 今ある、
- また、管理者アカウントはローカル接続のみとしたい
結論
skip_network_resolve = OFF
+admin_address = 127.0.0.1
で実現可
admin_address はワイルドカードが使えない
tom__bo さんからワイルドカードを使うのはどうか?というアイデアを貰いましたが、残念ながらadmin_address はワイルドカードを受け入れてくれません。。。
If admin_address is specified, its value must satisfy these requirements:
The value must be a single IPv4 address, IPv6 address, or host name.
The value cannot specify a wildcard address format (*, 0.0.0.0, or ::). https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html
フィードバックありがとうございます
HAツールがtoo many connectionsに巻き込まれないようにとか考えると接続自体は*(すべて)で受け付けて通常のアカウント認証に任せるのではだめなのかなと思ったりもした。
DBA以外が管理IFを活用するという視点はなかったです 😲 MySQL 8.0 になって細かく権限を指定できるようになったし、アカウントを増やさないという拘りは捨ててもいいかもしれない。
tom__bo さんフィードバックありがとうございます!