MySQLユーザーがいて、データベース内の他のテーブルではなく、必要なビューのみを表示したい。次のように、特定のビューでのみこのユーザー権限を付与しました。
GRANT SHOW VIEW ON `myDatabase`.`awesome_view` TO 'thisUser'@'%'
show grants;
ステートメントを実行すると、期待どおりにこの権限しか表示されません。ただし、このユーザーに、これらのビューに関連するテーブルではなく、ビューだけをクエリしてもらいたいのですが、これを行う方法が見つかりません。ユーザーがビューで選択を行うようにしたい場合、テーブルに対しても選択を許可する必要がありますか、それとも間違っていますか?
select
残りのテーブルのステートメントを拒否し、コマンドラインで選択を実行しようとすると、次のようになります。
SELECT * FROM myDatabase.fordibenForYouTable;
ERROR 1142 (42000): SELECT command denied to user 'thisUser'@'localhost' for table 'fordibenForYouTable'
それが本当に欲しいことですが、ビューデータを選択した場合も拒否されました。
テーブルではなくビューのみをユーザーが利用できるようにする方法はありますか?