web-dev-qa-db-fra.com

Mysql: exécution de la commande refusée à l'utilisateur '' @ 'localhost' pour une erreur de routine

j'ai eu un problème lors de l'ouverture de mon ancien site Web. Mon spectacle dataTable:

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

Après cela, j'ai essayé de déboguer mon script et j'ai trouvé une erreur dans 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'

Ensuite, j'ai essayé de googler pour execute command denied to user 'jeinqa'@'localhost' for routine 'TestMediaControl.monthavrage' et certains sites ont dit que je devais faire GRANT:

GRANT EXECUTE ON PROCEDURE TestMediaControl.monthavrage TO 'jeinqa'@'localhost'

mais j'ai:

#1370 - execute command denied to user 'jeinqa'@'localhost' for routine 'TestMediaControl.monthavrage'

pourriez-vous me dire comment dois-je faire pour résoudre ce problème?

24
nunu

Cela fonctionne ..... J'essaie d'accorder ce privilège dans root.

  1. connectez-vous en tant que root
  2. GRANT EXECUTE ON PROCEDURE TestMediaControl.monthavrage TO 'jeinqa'@'localhost'
  3. flush privileges;
34
nunu

Très tard pour la fête essayez également une combinaison de.

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

ET

flush privileges;

Essayez également de remplacer PROCEDURE par FUNCTION.

10
Sydwell

J'ai rencontré cela dans phpMyAdmin, il y a quelques heures, lors de l'exécution d'une procédure stockée avec ce que je pensais être détecté comme une erreur de syntaxe.

Il me manquait une virgule entre un nom de champ et un champ calculé, ce qui m'a donné le même message d'erreur.

4
Max Izrin