You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL WITH GRANT OPTION行为异常问题咨询

问题原因

user1的INSERT和UPDATE权限来自同一条带WITH GRANT OPTION的GRANT语句,这两个权限属于同一个权限条目,意味着user1对这两个权限都拥有转授资格。

当给user2分两次授权时,MySQL会自动合并针对同一表的权限记录。只要其中一次授权带WITH GRANT OPTION,合并后的整条记录就会继承该属性,最终导致user2的两个权限都具备转授能力。

解决方法
  • 撤销user2现有权限(用user1或更高权限用户执行):

    REVOKE INSERT, UPDATE ON school.STUDENTS FROM 'user2'@'localhost';
    
  • 拆分user1的权限记录(需root等全局权限用户操作):
    先撤销user1的合并权限,再分别授予独立权限:

    REVOKE INSERT, UPDATE ON school.STUDENTS FROM 'user1'@'localhost';
    GRANT INSERT ON school.STUDENTS TO 'user1'@'localhost' WITH GRANT OPTION;
    GRANT UPDATE ON school.STUDENTS TO 'user1'@'localhost';
    
  • 重新给user2授权(切换回user1执行):

    GRANT INSERT ON school.STUDENTS TO 'user2'@'localhost' WITH GRANT OPTION;
    GRANT UPDATE ON school.STUDENTS TO 'user2'@'localhost';
    

完成后查看user2的权限,会得到两条独立记录:INSERT权限带WITH GRANT OPTION,UPDATE权限无转授能力,完全符合预期。

内容的提问来源于stack exchange,提问作者D yh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 04:05:26