2011-06-22 64 views
18

我在打开我的旧网站时遇到了一些问题。我的dataTable显示:Mysql:执行命令拒绝用户''@'localhost'的例程错误

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' 

然后我试图google搜索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' 

你能告诉我该如何解决这个问题?

回答

25

它的工作..... 我试图授予这个特权root

  1. 日志中为root
  2. GRANT EXECUTE ON PROCEDURE TestMediaControl.monthavrage TO 'jeinqa'@'localhost'
  3. flush privileges;
8

非常迟到了也尽量的组合。

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

flush privileges; 

也可以尝试用FUNCTION更换步骤。

1

几个小时前,我在phpMyAdmin中遇到过这个问题,那时执行的存储过程与我认为会被检测为语法错误的情况相同。

我错过了一个字段名称和一个计算字段之间的逗号,这给了我同样的错误信息。

相关问题