はじめに
MySQLサーバーで以下の第4オクテットだけ違うサーバーからアクセスを許可するにはどうすればいいのか?
- 192.168.51.1
- 192.168.51.2
- 192.168.51.3
前提
- MySQL 5.7 を利用する
説明しないこと
- GRANTの文法
解決方法
GRANTのホスト値に以下を設定することで許可することができる。
ワイルドカード形式 '198.51.100.%'
または
サブネットマスク形式 '198.51.100.0/255.255.255.0'
の2通りが指定できる。GRANT文で記述すると以下となる。
GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'192.51.100.0/255.255.255.0' IDENTIFIED BY 'password';
注意点
ここでの注意点は以下のCIDR形式は対応していないので要注意。
CIDR形式 '198.51.100.0/24'
おわりに
先日CIDR形式でGRANT文を実行してしまい、リモート先からMySQLサーバーに接続することができず、少しハマってしまった。同僚からの助けがあってどうにか解決できたが、次からはもうハマらないぞ!