みなさん、こんにちは!
今回は、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.%';
以上です!