web-dev-qa-db-ja.com

Mysql:ルーチンエラーのためにユーザー '' @ 'localhost'に対してコマンドが拒否されました

古いWebサイトを開くときに問題が発生しました。私のdataTableショー:

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'

これを解決するにはどうすればいいですか?

24
nunu

パーティーに非常に遅れてもの組み合わせを試してみてください。

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

そして

flush privileges;

また、PROCEDUREをFUNCTIONに置き換えてみてください。

10
Sydwell

数時間前にphpMyAdminで、構文エラーとして検出されると思われるものを使用してストアドプロシージャを実行したときに、これに遭遇しました。

フィールド名と計算フィールドの間にコンマがないため、同じエラーメッセージが表示されました。

4
Max Izrin