我正在尝试在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>'@'%'
我可以创建/删除/更改表没问题,只是没有存储过程的快乐。
(数据库由我的ISP / Web Host托管)
答案 0 :(得分:3)
要创建存储过程,您需要CREATE ROUTINE
权限。要执行它们,您需要EXECUTE
权限。
检查出来:http://dev.mysql.com/doc/refman/5.0/en/stored-routines-privileges.html