4

我正在使用我的主数据库用户登录 Phpmyadmin 页面/工作台远程访问应用程序,但我遇到了权限问题。

当我试图改变我存储在数据库中的例程时,这一切都开始了。当试图从工作台应用程序中更改这些例程时,什么都没有发生。我可以调用这些例程并执行它们,但不能更改或访问脚本。

我在不同的论坛中搜索了几个小时,并获得了有关授予访问命令的一些答案,但随后我再次遇到权限问题,错误 #1142,命令拒绝用户(主用户)。

我真的很迷失在这里,并且已经失去了几个小时的工作才能获得我的例程脚本。

最后一点 - 当我与同一个用户连接但来自不同的远程连接(不同的 IP 地址)时,我创建了这些例程。

非常感谢您的帮助。

4

2 回答 2

2

这是我如何解决此问题的解决方案:

1)将“mysql”数据库添加到用户,您登录时使用

建议:现在您可以更改函数和程序

2)为您的用户添加全局权限“SUPER”

建议:否则,如果您保存过程/函数,您将收到以下错误:“错误 1227:访问被拒绝;您需要(至少一个)此操作的超级权限”

于 2014-07-31T11:30:02.170 回答
0

CREATE DEFINER = 'admin'@'localhost' PROCEDURE account_count() SQL SECURITY INVOKER BEGIN SELECT 'Number of account:', COUNT(*) FROM mysql.user; 结尾;

请参见上面的示例。

您需要使用超级用户登录并根据您的新用户名和主机名更改过程中的定义器参数。创建的同一定义者可以编辑存储过程。

于 2013-01-08T11:57:15.477 回答