【MySQL】ユーザーの基本操作 - 作成・一覧表示・情報表示・変更・削除
MySQLのユーザーの基本操作を解説します。
ユーザー
ユーザーはMySQLを操作するために必要です。 初期はrootユーザーのみですが、任意のユーザーを作成することができます。
作成(CREATE USER
)
ユーザーを作成するにはCREATE USER
を使います。
基本構文
CREATE USER ユーザー名@ホスト名 IDENTIFIED BY パスワード
ユーザーはユーザー名とホスト名をアットマーク(@
)で繋げて記述します。
ホスト名
は接続元のIPアドレスやlocalhostを指定できます。
サンプル
mysql> CREATE USER 'tester'@'localhost' IDENTIFIED BY 'password';
Query OK, 0 rows affected (0.08 sec)
作成したユーザーでMySQLに接続するにはmysql
コマンドの-u
オプションで指定します。
mysql -u tester -p
一覧表示(mysql.user
)
ユーザーの一覧表示はmysql.user
テーブルから取得します。
基本構文
SELECT カラム FROM mysql.user
サンプル
mysql> SELECT Host, User FROM mysql.user;
+-----------+------------------+
| Host | User |
+-----------+------------------+
| localhost | mysql.infoschema |
| localhost | mysql.session |
| localhost | mysql.sys |
| localhost | root |
| localhost | tester |
+-----------+------------------+
5 rows in set (0.00 sec)
作成クエリ(SHOW CREATE USER
)
ユーザーを作成するクエリを表示するにはSHOW CREATE USER
を使います。
基本構文
SHOW CREATE USER ユーザー
サンプル
mysql> SHOW CREATE USER tester@localhost;
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| CREATE USER for tester@localhost |
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| CREATE USER `tester`@`localhost` IDENTIFIED WITH 'caching_sha2_password' AS '$A$005$I< PT=cowZ/i .r`hQ16fn8i/YtmQLmDOQzXYp0UjxhEeTXW1aR6KMU4QTK9' REQUIRE NONE PASSWORD EXPIRE DEFAULT ACCOUNT UNLOCK PASSWORD HISTORY DEFAULT PASSWORD REUSE INTERVAL DEFAULT PASSWORD REQUIRE CURRENT DEFAULT |
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
権限確認(SHOW GRANTS FOR
)
ユーザーの権限確認はSHOW GRANTS FOR
を使います。
基本構文
SHOW GRANTS FOR ユーザー
サンプル
mysql> SHOW GRANTS FOR tester@localhost;
+--------------------------------------------+
| Grants for tester@localhost |
+--------------------------------------------+
| GRANT USAGE ON *.* TO `tester`@`localhost` |
+--------------------------------------------+
1 row in set (0.00 sec)
ユーザー名変更(RENAME USER
)
ユーザー名の変更はRENAME USER
を使います。
基本構文
RENAME USER 現在ユーザー名 TO 新しいユーザー名
サンプル
mysql> SELECT Host, User FROM mysql.user;
+-----------+------------------+
| Host | User |
+-----------+------------------+
| localhost | mysql.infoschema |
| localhost | mysql.session |
| localhost | mysql.sys |
| localhost | root |
| localhost | tester |
+-----------+------------------+
5 rows in set (0.01 sec)
mysql> RENAME USER tester@localhost TO guest@localhost;
Query OK, 0 rows affected (0.00 sec)
mysql> SELECT Host, User FROM mysql.user;
+-----------+------------------+
| Host | User |
+-----------+------------------+
| localhost | guest |
| localhost | mysql.infoschema |
| localhost | mysql.session |
| localhost | mysql.sys |
| localhost | root |
+-----------+------------------+
5 rows in set (0.00 sec)
削除(DROP USER
)
ユーザーの削除はDROP USER
を使います。
基本構文
DROP USER ユーザー
サンプル
mysql> SELECT Host, User FROM mysql.user;
+-----------+------------------+
| Host | User |
+-----------+------------------+
| localhost | guest |
| localhost | mysql.infoschema |
| localhost | mysql.session |
| localhost | mysql.sys |
| localhost | root |
+-----------+------------------+
5 rows in set (0.00 sec)
mysql> DROP USER guest@localhost;
Query OK, 0 rows affected (0.00 sec)
mysql> SELECT Host, User FROM mysql.user;
+-----------+------------------+
| Host | User |
+-----------+------------------+
| localhost | mysql.infoschema |
| localhost | mysql.session |
| localhost | mysql.sys |
| localhost | root |
+-----------+------------------+
4 rows in set (0.00 sec)