2011-06-22 17 views
18

Mam pewien problem podczas otwierania mojej starej strony. Moja dataTable pokaz:Mysql: Wykonaj polecenie odmówione użytkownikowi '' @ 'localhost' dla rutynowego błędu

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

Po tym, starałem się debugowania mój scenariusz i znaleźć błąd w 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' 

Potem próbował googlowania dla execute command denied to user 'jeinqa'@'localhost' for routine 'TestMediaControl.monthavrage' i niektóre strony powiedział, że muszę zrobić jakiś GRANT :

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

ale mam:

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

czy możesz mi powiedzieć, jak mam to zrobić, aby rozwiązać ten problem?

Odpowiedz

25

Działa ..... Próbuję przyznać przywilej w root.

  1. Zaloguj się jako root
  2. GRANT EXECUTE ON PROCEDURE TestMediaControl.monthavrage TO 'jeinqa'@'localhost'
  3. flush privileges;
8

bardzo późno do partii także spróbować kombinacji.

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

I

flush privileges; 

spróbować również procedury wymiany z funkcjonalnością.

1

Napotkałem to w phpMyAdmin, kilka godzin temu, kiedy wykonywałem procedurę przechowywaną z tym, co, jak sądziłem, zostałoby wykryte jako błąd składniowy.

Brakowało mi przecinka między nazwą pola a polem obliczeniowym, co dało mi ten sam komunikat o błędzie.