PR

MySQL DBユーザーへの権限付与方法と確認方法

スポンサーリンク
MySQL

MySQLではユーザーを作成した後に権限を付与しなければ、そのユーザーは何も出来ません。

今回はMySQLユーザーへの権限付与方法と付与された権限の確認方法を紹介します。

MySQLユーザーへの権限付与方法

まずMySQLのrootユーザーでログインします。

# mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.29 MySQL Community Server (GPL)

Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

以下のSQLで権限を付与することが出来ます。

GRANT <権限名> ON <対象データベース名>.<対象テーブル名> TO <ユーザー名>@<接続元IP>;

今回はサンプルとして以下の権限を与えてみます。

  • 権限名: ALL PRIVILEGES(GRANT OPTIONを除く全ての権限が付与されます)
  • 対象データベース名: dekirudb
  • 対象テーブル名: *(ワイルドカードで全てのテーブルを意味します)
  • ユーザー名: dekiruengineer
  • 接続元IP: localhost
mysql> GRANT ALL PRIVILEGES ON dekirudb.* TO dekiruengineer@localhost;
Query OK, 0 rows affected (0.01 sec)

ユーザーの作成方法については以下の記事を参照してください。

MySQLユーザーへの権限確認方法

ユーザーにどんな権限が付与されているかは以下のSQLで確認することが出来ます。

SHOW GRANTS FOR <ユーザ名>@<接続元IP>;

mysql> SHOW GRANTS FOR dekiruengineer@localhost;
+----------------------------------------------------------------------+
| Grants for dekiruengineer@localhost                                  |
+----------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'dekiruengineer'@'localhost'                   |
| GRANT ALL PRIVILEGES ON `dekirudb`.* TO 'dekiruengineer'@'localhost' |
+----------------------------------------------------------------------+
2 rows in set (0.00 sec)

先程付与した権限を確認することが出来ました。