Mysql:对用户''@ localhost'执行命令被拒绝,用于例行错误

nun*_*unu 28 mysql privileges grant mysql-error-1064

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

DataTables warning: JSON data from server could not be parsed. This is caused by a JSON formatting error.
Run Code Online (Sandbox Code Playgroud)

之后,我尝试调试我的脚本并在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'
Run Code Online (Sandbox Code Playgroud)

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

GRANT EXECUTE ON PROCEDURE TestMediaControl.monthavrage TO 'jeinqa'@'localhost'
Run Code Online (Sandbox Code Playgroud)

但我得到了:

#1370 - execute command denied to user 'jeinqa'@'localhost' for routine 'TestMediaControl.monthavrage'
Run Code Online (Sandbox Code Playgroud)

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

nun*_*unu 36

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

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


Syd*_*ell 11

派对很晚也尝试组合.

GRANT EXECUTE ON PROCEDURE TestMediaControl.monthavrage TO 'jeinqa'@'%';
Run Code Online (Sandbox Code Playgroud)

flush privileges;
Run Code Online (Sandbox Code Playgroud)

另请尝试使用FUNCTION替换PROCEDURE.


Max*_*rin 5

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

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

  • 哈哈,这不是问题的技术解决方案,而是语法错误的解决方案,我有一个相同的问题可以使用此解决。(我希望我可以给这个答案2个投票) (2认同)