【发布时间】:2011-10-05 08:28:12
【问题描述】:
使用标准 SQL - 在 PosgresQL 和 Oracle 中反复执行此操作 - 我希望将 SELECT 授予 schema1 中的所有表 except secret 给 user1
grant select on schema1.* to user1;
revoke select on schema1.users from user1;
收到错误:
ERROR 1147 (42000): There is no such grant defined for user 'user1' on host '%' on table 'secret'
我做错了什么?
显然这是标准的 MySQL 行为!!
更容易理解使用 MySQL 的应用程序缺乏安全性 - 在 MySQL 中设置正确的用户安全性非常困难。
【问题讨论】:
-
您应该逐个表地为每个表授予 SELECT 权限。
-
你确定吗? ANSI 标准说我所做的是正确的。
标签: mysql privileges