gpt4 book ai didi

mysql - 如何向用户授予执行特定存储过程的权限

转载 作者:可可西里 更新时间:2023-11-01 06:38:06 25 4
gpt4 key购买 nike

我在特定模式上创建了一些存储过程。

在这个存储过程中,我想授予执行权限。

所以我这样写:

GRANT EXECUTE ON PROCEDURE schema_name.proc_name TO 'user_name';
GRANT SELECT ON mysql.proc to 'user_name';

问题是:我的用户可以看到每个存储过程。我希望他只能看到他拥有 EXECUTE 权限的过程。

有什么办法可以实现吗?

提前致谢。

最佳答案

是的...如果您不直接或间接授予用户对 mysql.proc 表的 SELECT 权限,这将按预期工作,例如使用 GRANT SELECT ON *.* TO ...

如果没有对该表的 SELECT 权限,用户只能看到他们拥有其他权限(如 EXECUTE)的存储过程和存储函数的存在。

在幕后,mysql.proc 上缺少 SELECT 也会阻止用户通过 information_schema 查看他们无权访问的过程.routines 伪表。

您不需要GRANT SELECT ON mysql.proc 来使用户能够执行过程或函数...如果您这样做了,那么看起来像问题。

关于mysql - 如何向用户授予执行特定存储过程的权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24493288/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com