MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLでユーザーにビューの表示権限のみを付与する方法

MySQLでユーザーに対して、特定のビューの表示(参照)権限のみを付与したい場合は、GRANT SELECT文を使用します。本記事では、ビューの一覧確認からユーザーへの権限付与まで、具体的な手順を解説します。

ビューに権限を付与する基本構文

ユーザーにMySQLビューの表示権限のみを付与するには、以下の構文を使用します。

GRANT SELECT ON yourDatabaseName.yourViewName TO 'yourUserName'@'yourLocalHost';

手順1:データベース内のビュー一覧を確認する

まず、対象データベースに存在するすべてのビュー名を表示する必要があります。その構文は以下のとおりです。

SHOW FULL TABLES IN yourDatabaseName WHERE TABLE_TYPE LIKE 'VIEW';

それでは、上記の構文を使ってデータベース内のすべてのビューを表示してみましょう。ここでは、データベース名として「test」を使用します。クエリは以下のとおりです。

mysql> SHOW FULL TABLES IN test WHERE TABLE_TYPE LIKE 'VIEW';

実行結果は以下のとおりです。

+-------------------------------+------------+
| Tables_in_test                | Table_type |
+-------------------------------+------------+
| empidandempname_view          | VIEW       |
| empinfoview                   | VIEW       |
| lookuptable                   | VIEW       |
| view_student                  | VIEW       |
| viewemployeeidandemployeename | VIEW       |
+-------------------------------+------------+
5 rows in set (0.00 sec)

この結果から、データベース「test」には5つのビューが存在することが確認できます。

手順2:ユーザー名とホストを確認する

次に、MySQL.userテーブルからすべてのユーザー名とホストを表示します。クエリは以下のとおりです。

mysql> select user,host from MySQL.user;

実行結果は以下のとおりです。

+------------------+-----------+
| user             | host      |
+------------------+-----------+
| Manish           | %         |
| User2            | %         |
| mysql.infoschema | %         |
| mysql.session    | %         |
| mysql.sys        | %         |
| root             | %         |
| Adam Smith       | localhost |
| User1            | localhost |
| am               | localhost |
+------------------+-----------+
9 rows in set (0.00 sec)

手順3:ユーザーにビューの権限を付与する

ユーザー名とホストを確認したら、実際に権限を付与します。ここでは、データベース「test」のビュー「viewemployeeidandemployeename」に対するSELECT権限を、ユーザー「'Adam Smith'@'localhost'」に付与します。クエリは以下のとおりです。

mysql> GRANT SELECT ON test.viewemployeeidandemployeename TO 'Adam Smith'@'localhost';
Query OK, 0 rows affected (0.18 sec)

「Query OK」と表示されれば、権限の付与は成功です。これにより、ユーザー「Adam Smith」は指定されたビューを参照できるようになりますが、テーブルへの直接アクセスなど、その他の操作は実行できません。

まとめ

MySQLでユーザーにビューのみの表示権限を付与するには、SHOW FULL TABLESでビューの一覧を確認し、GRANT SELECT文で特定のビューに対する権限を付与します。この方法を使えば、ユーザーが必要なデータのみにアクセスできるようになり、データベースのセキュリティ向上につながります。

  1. 【MySQL入門】別のユーザーとしてログインする方法をわかりやすく解説

    MySQLで別のユーザーとしてログインしたい場合は、mysql -u ユーザー名 -p コマンドを使用します。この記事では、新しいユーザーの作成から、作成したユーザーでのログイン方法まで、手順を追って詳しく解説します。別のユーザーとしてログインするための基本構文別のユーザーとしてMySQLにログインする際の基本構文は以下の通りです。> mysql -u yourUsername -pEnter password:コマンドを実行してEnterキーを押すと、パスワードの入力を求められます。ここに該当ユーザーのパスワードを入力すればログインできます。ステップ1:新しいユーザーを作成するまずは、

  2. MySQLのインストール関連プログラムとは?comp_err・mysql_secure_installationなどの役割と使い方を解説

    MySQLのインストール関連プログラムとはMySQLには、インストール後の初期設定やセキュリティ強化、バージョンアップ作業を支援するためのユーティリティプログラムが複数用意されています。本記事では、その中でも特に重要な以下の4つのプログラムについて、それぞれの役割と基本的な使い方をわかりやすく解説します。comp_errmysql_secure_installationmysql_tzinfo_to_sqlmysql_upgradecomp_errcomp_errは、エラーメッセージ定義ファイル「errmsg.sys」を生成するプログラムです。mysqld(MySQLサーバー)は、このファイル