Подтвердить что ты не робот

Mysql: выполнить команду, запрещенную пользователю '' @'localhost' для обычной ошибки

У меня возникла проблема при открытии моего старого веб-сайта. В моей таблице данных показано:

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

После этого я попытался отладить мой script и обнаружил ошибку в 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'

Затем я попытался выполнить поиск в googling для 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'

Не могли бы вы рассказать мне, как я должен это делать?

4b9b3361

Ответ 1

Это работает..... Я пытаюсь предоставить эту привилегию в root.

  • войти как root
  • GRANT EXECUTE ON PROCEDURE TestMediaControl.monthavrage TO 'jeinqa'@'localhost'
  • flush privileges;

Ответ 2

Очень поздно вечеринке попробуйте комбинацию.

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

и

flush privileges;

Также попробуйте заменить PROCEDURE на FUNCTION.

Ответ 3

Я столкнулся с этим в phpMyAdmin, несколько часов назад, при выполнении хранимой процедуры с тем, что, как я думал, будет обнаружен как синтаксическая ошибка.

Мне не хватало запятую между именем поля и вычисленным полем, и это дало мне то же сообщение об ошибке.