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

MySQL授予GRANT权限时出现Permission Denied错误求助

MySQL 5.6授予GRANT权限失败的原因分析

核心原因:你的账号缺少GRANT OPTION权限

在MySQL中,要将权限(包括授予他人权限的能力)转授给其他用户,你的账号必须本身拥有GRANT OPTION权限——这是专门用来允许账号将自身拥有的权限授予其他用户的关键权限,不会随常规的数据/结构权限自动附带。

排查与验证步骤

  • 查看自身账号的权限详情:执行以下命令(替换your_user和your_host为你的账号信息):
    SHOW GRANTS FOR 'your_user'@'your_host';
    
    如果结果中没有包含WITH GRANT OPTION的行,说明你确实缺少该权限。
  • 注意权限范围限制:即使你拥有部分权限的GRANT OPTION,也只能转授你自身已拥有的权限范围。比如你仅拥有db1.*的权限并附带GRANT OPTION,就无法给其他用户授予*.*全局范围的GRANT权限。

解决方法

需要由拥有超级权限的账号(如root)为你的账号添加GRANT OPTION权限,执行类似命令:

-- 授予全局范围的GRANT OPTION权限
GRANT ALL PRIVILEGES ON *.* TO 'your_user'@'your_host' WITH GRANT OPTION;
FLUSH PRIVILEGES;

如果不需要全局权限,可指定具体数据库/表范围:

-- 仅针对mydb数据库授予权限及GRANT OPTION
GRANT SELECT, INSERT ON `mydb`.* TO 'your_user'@'your_host' WITH GRANT OPTION;
FLUSH PRIVILEGES;

额外提示

当你给其他用户授予权限时,如果希望该用户也能转授权限,需要在授予命令末尾显式添加WITH GRANT OPTION,例如:

GRANT SELECT ON `mydb`.* TO 'new_user'@'%' WITH GRANT OPTION;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 05:54:16