Mysql:由于例程错误,拒绝用户“@”localhost“执行命令

c86crjj0  于 2023-02-18  发布在  Mysql
关注(0)|答案(5)|浏览(140)

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

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'

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

iovurdzv

iovurdzv1#

它工作.....我尝试在root中授予此特权。
1.以root身份登录

  1. GRANT EXECUTE ON PROCEDURE TestMediaControl.monthavrage TO 'jeinqa'@'localhost'
  2. flush privileges;
yks3o0rb

yks3o0rb2#

很晚才来聚会也试试组合。

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

以及

flush privileges;

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

hmae6n7t

hmae6n7t3#

几个小时前,我在phpMyAdmin中遇到过这种情况,当时我执行了一个存储过程,我认为它会被检测为语法错误。
我在字段名和计算字段之间缺少一个逗号,这给了我同样的错误消息。

yhxst69z

yhxst69z4#

我也有这个问题-我的错误是引用与例行计数-访问被拒绝。
问题是我有“count(case when...)”,count和(之间不能有空格。删除空格修复了错误。

laik7k3q

laik7k3q5#

我昨天遇到了这个问题,我以为是语法错误,但显示了这个消息。
我的错误:我写了“选择m.id,m.MAX(id_number)作为id_number...”而不是“选择m.id,MAX(m.id_number)作为id_number..."...错误与MAX有关。错误消息没有太大帮助。

相关问题