MySQL8のユーザー作成方法メモ 1。
※ワンポイント
AWSで、同じVPC内でネットワークセグメントを別にして複数環境を利用する場合などがあるかと思う。そういう場合、DBには対応するセグメントのユーザーを作成するのが良い。
セキュリティグループのほうで環境を超えてアクセスできないように設定しておくのだが、DB側でセグメント指定でユーザーを作成することで、セキュリティグループの設定を忘れた時や間違って意図した設定になっていなかった場合の、アクセス制限の保険になる。
環境が1つであれば、セグメント指定せずに % でよいだろう。 (例: 'ユーザー名'@'%'
)
実際のSQL
データベースはあらかじめ作成している前提。2
CREATE USER 'ユーザー名'@'ネットワークアドレス/ネットワークマスク' IDENTIFIED BY 'パスワード';
GRANT ALL ON データベース名.* to 'ユーザー名'@'ネットワークアドレス/ネットワークマスク';
-- 以下、例
CREATE USER 'bocchi'@'192.160.100.0/255.255.255.0' IDENTIFIED BY 'SomePassword';
GRANT ALL ON kessokuband.* to 'bocchi'@'192.160.100.0/255.255.255.0';
(以上)
-
例えば、MySQL5.7では
GRANT
でユーザーが作成&パスワード設定できたが、8ではそれができなくなった。(参考) https://www7390uo.sakura.ne.jp/wordpress/archives/456 ↩ -
なお
FLUSH PRIVILEGES;
コマンドは不要。(MySQL8ドキュメント) ↩