无法改变MySql例程

时间:2012-12-02 11:59:37

标签: mysql database-permissions

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

当我尝试更改存储在DB中的例程时,这一切都开始了。当试图从工作台应用程序中更改这些例程时,没有任何事情发生。 我可以调用这些例程并执行它们,但不能改变或获取脚本。

我在不同的论坛中搜索了几个小时,并获得了有关授权访问命令的一些答案 但后来又出现了错误#1142的权限问题,命令被拒绝给用户(主用户)。

我真的迷失在这里,已经失去了几个小时的工作,以便了解我的惯例脚本。

最后一个注意事项 - 我在使用相同的用户但是来自不同的远程连接(不同的IP地址)时创​​建了这些例程。

真的很感激帮助。

2 个答案:

答案 0 :(得分:0)

CREATE DEFINER ='admin'@'localhost'PROCEDURE account_count() SQL安全调查员 开始   SELECT'帐号数:',COUNT(*)FROM mysql.user; END;

参见上面的例子。

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

答案 1 :(得分:0)

这是我解决这个问题的解决方法:

1)向用户添加“mysql”数据库,使用

登录

建议:现在你可以改变功能和程序

2)将全局特权“SUPER”添加到您的用户

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