mysql ユーザ権限の確認・追加・削除まとめ

Web開発

みなさん、こんにちは!

今回は、mysqlのユーザの権限確認方法について記載します。

忘れてしまいがちなので、自分用のメモでもあります笑

ユーザ一覧を確認する

mysql> select user, host from mysql.user;
+---------------+-----------+
| user          | host      |
+---------------+-----------+
| mysql.session | localhost |
| mysql.sys     | localhost |
| root          | localhost |
| test          | localhost |
+---------------+-----------+

ユーザの権限を確認する

mysql> show grants for '<username>'@'<hostname>';

ex)
mysql> show grants for test@localhost;
+------------------------------------------------------------+
| Grants for test@localhost                                  |
+------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'test'@'localhost'                   |
| GRANT ALL PRIVILEGES ON `sampledb`.* TO 'test'@'localhost' |
+------------------------------------------------------------+

ユーザへ権限を付与する

※ユーザが存在しない場合は、新規作成される。

mysql> grant <privilege> on <dbname>.* to <username>@'<host or IP>' identified by '<password>';

ex)
mysql> grant select,delete,insert,update on sampledb.* to test@'192.168.10.%' identified by 'passwd';

ユーザテーブルに追加されたか確認してみる。

mysql> select user, host from mysql.user where user="test";
+------+--------------+
| user | host         |
+------+--------------+
| test | 192.168.10.% |
| test | localhost    |
+------+--------------+

権限も正しく付与されたのか確認してみる。

mysql> show grants for test@'192.168.10.%'
;
+-------------------------------------------------------------------------------+
| Grants for test@192.168.10.%                                                  |
+-------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'test'@'192.168.10.%'                                   |
| GRANT SELECT, INSERT, UPDATE, DELETE ON `sampledb`.* TO 'test'@'192.168.10.%' |
+-------------------------------------------------------------------------------+

ユーザを削除する

$ drop user <username>@<host>;

ex)
mysql> drop user test@'192.168.10.%';

以上です!

タイトルとURLをコピーしました