はじめに
MySQLのユーザーを作成し、権限を全権限を与えていたのですが、後ほど、一部の権限のみに絞ることになりました。
そして、設定したはずが、全権限付与されたままでした。
設定方法
権限を削除する
まずは、下記のコマンドでデータベースユーザのアクセス権限を削除します。
権限の削除
REVOKE ALL ON database.* FROM 'hoge';
権限が正常に削除されているかを確認
権限削除の確認
SHOW GRANTS for 'hoge';
権限を付与
下記のコマンドで正しい権限を付与します。
正しい権限の付与
GRANT SELECT ON database.* TO 'hoge';
上記の例では、SELECTの権限のみを付与しています。
付与結果の確認
付与できているか確認
SHOW GRANTS for 'hoge';
下記のような内容が表示されていたら、正常に設定されています。
設定完了時の内容
+------------------------------------------------------------+
| Grants for metabase_ec2@% |
+------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'hoge'@'%' |
| GRANT SELECT ON `database`.* TO 'hoge'@'%' |
+------------------------------------------------------------+
まとめ
権限を変更する際は、一度、削除した後に、正しいものを付与する事を覚えておかないと、いつか大問題を引き起こしそうで怖いです。
また、権限の操作を行ったあとは、しっかりと設定できているかを確認するべきですね。
もっと、データベースと仲良くなりたいと思おうので、さらに、戯れていきたいと思います(^○^)