mita2 database life

主にMySQLに関するメモです

MySQL admin_address にワイルドカードは指定不可

先日書いたエントリーについて、

mita2db.hateblo.jp

MySQL Weekly で tom__bo さんから頂いた、感想へのフィードバック(と補足)です。

mysql-weekly.hatenablog.com

僕がやりたかったこと

  • 接続あふれしている時でも、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 さんフィードバックありがとうございます!