在MySQL数据库中,如果DBA向用户1授予select权限并带有授予选项,则该用户1向用户2授予select访问权限,DBA可以撤销用户2但不影响用户1权限吗?
我尝试在谷歌中搜索答案,但很难找到答案
在MySQL中,当使用WITH GRANT OPTION授予用户权限时 子句,这意味着用户不仅拥有自己的权限,而且还可以 将该权限授予其他用户。但是,具有WITH GRANT的用户 如果其他人没有 OPTION 权限,则 OPTION 无法撤销他们的特权 给自己特权。
所以,在你的场景中
DBA 使用WITH GRANT OPTION 向用户1 授予SELECT 权限。用户 1 授予 SELECT 权限 用户2。现在,如果 DBA 想要撤销 user2 的 SELECT 权限,但是 不影响user1的权限,DBA可以这样做而不影响user1的权限 允许。关键是DBA作为超级用户,拥有 有权撤销任何用户(包括 user2)的权限,无论 user1是否授予权限。
要撤销user2的权限,DBA可以使用以下SQL 命令:
从 user2 中撤销对数据库名称.* 的选择;
这将撤销 user2 对指定数据库的 SELECT 权限,以及 user1 的 权限将不受影响。
但是,请记住,user1 仍然可以再次向 user2 授予权限 如果 DBA 没有明确限制他们这样做。