Доступ запрещен в MySQL, хотя GRANTS выглядит правильно - PullRequest
3 голосов
/ 12 ноября 2011

Я пытаюсь создать хранимый процесс в MySQL.

Когда я пытаюсь запустить его, я получаю сообщение об ошибке:

Access denied for user: '<myuser>' to database '<mydb>'

Однако, когда я смотрю на GRANTS для этого пользователя, я получаю:

GRANT USAGE ON *.* TO '<myuser>'@'%' IDENTIFIED BY PASSWORD '<blah>' 
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES ON `<mydb>`.* TO '<myuser>'@'%' 

Я могу создавать / удалять / изменять таблицы без проблем, просто без удовольствия с сохраненным процессом.

(База данных размещена моим провайдером / веб-хостингом)

1 Ответ

3 голосов
/ 12 ноября 2011

Для создания хранимых процедур вам нужна привилегия CREATE ROUTINE. Для их выполнения вам необходимо иметь привилегию EXECUTE.

Проверьте это: http://dev.mysql.com/doc/refman/5.0/en/stored-routines-privileges.html

...