【问题标题】:Mysql: execute command denied to user ''@'localhost' for routine errorMysql:执行命令拒绝用户''@'localhost'的例行错误
【发布时间】:2011-09-20 01:05:30
【问题描述】:

我在打开旧网站时遇到了一些问题。我的数据表显示:

DataTables warning: JSON data from server could not be parsed. This is caused by a JSON formatting error.

之后,我尝试调试我的脚本并在 mysql 中发现错误:

Error occuered during query execution: 
(<small>SELECT SQL_CALC_FOUND_ROWS ID,name,remark,avrusepmonth 
        , CONCAT('&lt;input type=''checkbox''id=''cb' , ID ,''' name=''check[]''                
        value=''',ID,''' &gt;','&lt;label class=''lbcb'' for=''cb', 
        ID,'''&gt;&lt;=update=&lt;/label&gt;') as checkb 
        ,monthavrage(ID,12) as latestavr , moq, leadtime 
        FROM test_media  WHERE nowuse=1 and monthavrage(ID,12)  &gt; 0  ORDER BY  name
        desc, ID
        LIMIT 0, 10</small>):
 execute command denied to user 'jeinqa'@'localhost' for routine 'TestMediaControl.monthavrage'

然后我尝试搜索execute command denied to user 'jeinqa'@'localhost' for routine 'TestMediaControl.monthavrage',一些网站说我必须做一些GRANT

GRANT EXECUTE ON PROCEDURE TestMediaControl.monthavrage TO 'jeinqa'@'localhost'

但我得到了:

#1370 - execute command denied to user 'jeinqa'@'localhost' for routine 'TestMediaControl.monthavrage'

你能告诉我该怎么做才能解决这个问题吗?

【问题讨论】:

    标签: mysql mysql-error-1064 privileges grant


    【解决方案1】:

    它的工作原理...... 我尝试在root 中授予此特权。

    1. root登录
    2. GRANT EXECUTE ON PROCEDURE TestMediaControl.monthavrage TO 'jeinqa'@'localhost'
    3. flush privileges;

    【讨论】:

      【解决方案2】:

      很晚的聚会也试试组合的。

      GRANT EXECUTE ON PROCEDURE TestMediaControl.monthavrage TO 'jeinqa'@'%';
      

      flush privileges;
      

      还可以尝试将 PROCEDURE 替换为 FUNCTION。

      【讨论】:

        【解决方案3】:

        几个小时前,我在 phpMyAdmin 中遇到了这个问题,当时我执行了一个我认为会被检测为语法错误的存储过程。

        我在字段名称和计算字段之间缺少逗号,这给了我相同的错误消息。

        【讨论】:

        • 哈哈,这不是问题的技术解决方案,而是语法错误的解决方案,我遇到了同样的问题,我可以用这个解决......太好了......! (我希望我能给这个答案 2 票)
        【解决方案4】:

        我昨天遇到了这个,我预计会出现语法错误,但显示了此消息。

        我的错误:我写的是“SELECT m.id, m.MAX(id_number) as id_number...”而不是“SELECT m.id, MAX(m.id_number) as id_number...”...。错误与MAX有关。错误消息没有太大帮助。

        【讨论】:

        • 这似乎是一个后续问题。也许将其作为评论而不是问题发布会更好。如果您有任何问题,请开始一个新问题。
        • @Marcinek 在我看来,这似乎是另一种情况,其中提到的错误可能会令人困惑地发生,以及如何通过修复 SQL 来修复它。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-06-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-12-20
        • 2023-02-16
        相关资源
        最近更新 更多