如何为用户授予数据库全量存储过程执行权限(常规方法无效)
问题原因
你当前授予的EXECUTE权限仅支持用户执行存储过程,MySQL将存储过程的执行权限和查看存储过程列表/定义的权限做了拆分,要看到存储过程还需要额外授权。
由于你已经验证该用户可以正常查看数据表,说明用户登录的主机地址和账号匹配正常,不存在账号host配置错误的问题。
解决方法
使用数据库高权限账号执行以下语句,为用户追加查看存储过程的权限即可:
GRANT VIEW ROUTINE ON mydb.* TO 'user'@'user_ip'; FLUSH PRIVILEGES;
如果后续需要该用户支持创建、修改存储过程,可额外追加对应权限:
-- 授予创建、修改存储过程/函数权限 GRANT CREATE ROUTINE, ALTER ROUTINE ON mydb.* TO 'user'@'user_ip'; FLUSH PRIVILEGES;
内容的提问来源于stack exchange,提问作者Sirop4ik
相关产品推荐
相关产品推荐

