小编Met*_*iel的帖子

授予视图权限,拒绝选择表

我有一个 MySQL 用户,我希望它只查看我想要的视图,而不是数据库中的任何其他表。我仅授予此用户对某些视图的权限,如下所示:

GRANT SHOW VIEW ON `myDatabase`.`awesome_view` TO 'thisUser'@'%'
Run Code Online (Sandbox Code Playgroud)

如果我做一个show grants;声明,我只能按预期看到这个权限。但是我希望这个用户只查询视图而不是与这些视图相关的表,但我找不到办法做到这一点。似乎是如果我希望用户对视图进行选择,则还必须为表授予选择权,还是我错了?

如果我拒绝select其余表中的语句,并且在命令行中我尝试进行选择,我会得到以下信息:

SELECT * FROM myDatabase.fordibenForYouTable;
ERROR 1142 (42000): SELECT command denied to user 'thisUser'@'localhost' for table 'fordibenForYouTable'
Run Code Online (Sandbox Code Playgroud)

这确实是我想要的,但如果我选择视图数据,我也会被拒绝。

有没有一种方法可以让用户只看到视图而不是表格?

mysql permissions view

9
推荐指数
2
解决办法
3万
查看次数

标签 统计

mysql ×1

permissions ×1

view ×1