DBに接続して操作を行うためにはユーザーアカウントが必要です。ユーザーアカウントの確認、作成、変更する方法について紹介します。
目次
ユーザー確認
登録されているユーザー一覧を確認するには、以下クエリを実行します。
SELECT user, host
FROM mysql.user;
mysql> SELECT user, host FROM mysql.user;
+---------------+-----------+
| user | host |
+---------------+-----------+
| root | % |
| mysql.session | localhost |
| mysql.sys | localhost |
+---------------+-----------+
3 rows in set (0.00 sec)
SHOW GRANTS
( 指定ユーザーの権限確認 )
SHOW GRANTS FOR ユーザー
で権限を確認できます。
mysql> SHOW GRANTS FOR `root`@`%`;
+-------------------------------------------------------------+
| Grants for root@% |
+-------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION |
| GRANT PROXY ON ''@'' TO 'root'@'%' WITH GRANT OPTION |
+-------------------------------------------------------------+
2 rows in set (0.00 sec)
GRANT
( ユーザー作成 )
GRANT文を使いユーザー作成と権限設定を行います。
/* 書式 */
GRANT 権限 ON データベース.テーブル
TO 'ユーザ'@'ホスト' identified by 'パスワード';
/* 例1)「sampleDB」の全テーブルに対する全ての権限を付与 */
GRANT ALL ON sampleDB.*
TO user@localhost identified by 'pass';
/* 例2)「sampleDB」の「sampleTABLE」に対するSELECT文、INSERT文、UPDATE文、DELETE文の実行権限を付与*/
GRANT SELECT,INSERT,UPDATE,DELETE ON sampleDB.sampleTABLE
TO user@localhost identified by 'pass';
/* 作成したユーザの権限を確認 */
show grants for user@localhost
SET PASSWORD
( パスワード変更 )
SET PASSWORD FOR ユーザ名@ホスト名 = PASSWORD('新しいパスワード');
RENAME USER
( ユーザー名、ホスト名変更 )
RENAME USER ユーザ名@ホスト名 to 新ユーザ名@新ホスト名
/* 例) ホストを%に変更 */
RENAME USER root@localhost to root@'%'
DROP
( ユーザ削除 )
DROP USER ユーザ名@ホスト名