MySQL中,DBA能否撤销user2的SELECT权限且不影响拥有Grant Option的user1?
MySQL权限撤销问题解答
可以,DBA完全能够仅撤销user2的SELECT权限,不会对user1的权限产生任何影响。
原因很简单:MySQL中每个用户的权限都是独立存储的权限条目。当user1凭借WITH GRANT OPTION将SELECT权限授予user2后,user2的权限会作为单独的记录存在系统权限表中,和user1的权限没有绑定关联关系。
你可以直接执行针对性的撤销命令,比如要撤销user2在指定库表的SELECT权限:
REVOKE SELECT ON `your_db`.`your_table` FROM 'user2'@'localhost';
如果是全局级别的SELECT权限,就把ON子句改成ON *.*即可。
额外补充两点:
- 就算后续DBA撤销了user1的权限,user2已经获得的权限也不会自动失效,必须单独对user2执行撤销操作才行。
- 撤销user2的权限时,user1的原有权限(包括
WITH GRANT OPTION)会完全保留,不受任何影响。
内容的提问来源于stack exchange,提问作者Steve Timb
相关产品推荐
相关产品推荐

