MySQL 中的访问被拒绝,即使 GRANTS 看起来正确

发布于 2024-12-15 10:08:59 字数 521 浏览 1 评论 0原文

我正在尝试在 MySQL 中创建一个存储过程。

当我尝试运行它时,出现错误:

Access denied for user: '<myuser>' to database '<mydb>'

但是,当我查看该用户的 GRANTS 时,我得到:

GRANT USAGE ON *.* TO '<myuser>'@'%' IDENTIFIED BY PASSWORD '<blah>' 
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES ON `<mydb>`.* TO '<myuser>'@'%' 

我可以创建/删除/更改表,没有问题,只是对存储过程没有任何乐趣。

(数据库由我的 ISP/Web 主机托管)

I'm trying to create a stored proc in MySQL.

When I try and run it, I get the error:

Access denied for user: '<myuser>' to database '<mydb>'

However when I look at the GRANTS for this user I get:

GRANT USAGE ON *.* TO '<myuser>'@'%' IDENTIFIED BY PASSWORD '<blah>' 
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES ON `<mydb>`.* TO '<myuser>'@'%' 

I can create / drop / alter tables no problem, just no joy with the stored proc.

(The database is hosted by my ISP / Web Host)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

绻影浮沉 2024-12-22 10:08:59

要创建存储过程,您需要CREATE ROUTINE权限。要执行它们,您需要EXECUTE权限。

看看这个: http://dev.mysql.com /doc/refman/5.0/en/stored-routines-privileges.html

To create stored procedures you need CREATE ROUTINE privilege. To execute them you need EXECUTE privilege.

Check this out: http://dev.mysql.com/doc/refman/5.0/en/stored-routines-privileges.html

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文