我有一个用户,必须{@ {1}}访问架构中的所有表,除了一个表。
我尝试过:
SELECT
但是,第二条语句返回:
grant select on schemaname.* to 'username'@'%';
revoke select on schemaname.forbiddentable from 'username'@'%';
由于发生此错误是因为MySQL将Error 1147 - (There is no such grant defined on schemaname.forbiddentable for user... )
保存为GRANT
,而不是保存为单个*
的列表,所以我考虑授予对除{ {1}}。但是然后我将需要手动授予对在此之后创建的每个新表的访问权限,对吗?
有没有办法我只能撤消对GRANT
的访问权限,并继续访问其余所有访问权限?
如果没有,是否有一个好的习惯来保持该用户无法访问forbiddentable
的数据?