首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysql用户可以看到存储过程吗?

问mysql用户可以看到存储过程吗?
EN

Stack Overflow用户
提问于 2011-12-10 05:55:20
回答 1查看 2.6K关注 0票数 1

示例:已授予非超级用户对插入到表"a“中的过程的execute权限。该用户将看到表"a“所在的数据库,但不能看到带有"show tables”的表"a“。但是相同的用户可以看到带有"show procedure status“的基本过程信息。

这是为了审计,我想让审计过程尽可能模糊。如果用户被授予对某个过程执行权限,该用户是否必须有权查看该过程?他们是否必须能够看到该过程所触及的数据库?

EN

回答 1

Stack Overflow用户

发布于 2011-12-10 06:19:39

如果您是该过程的所有者,或者如果您有权访问mysql.proc表,则可以看到here所述的过程定义。

因此,您可以将该过程创建为超级用户,并设置定义器CURRENT_USER (以便该过程以超级用户身份执行)。然后确保超级用户可以访问该表,但其他人不能这样做。这应该会同时保护表和源,但可以对过程进行调用。

而且它不一定是超级用户,可以是任何有权访问该表的用户。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8452185

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档