2014-09-27 184 views
0

我正在使用MySQL Workbench和MySQL 5.6。授予权限时出错

我想创建一个只能执行存储过程的用户。

所以我创建了一个用户,给了一个密码并给了'routine.execute'这个角色。

它会产生这样的:

CREATE USER 'serveruser' IDENTIFIED BY 'PASSWORD'; 

GRANT EXECUTE ON ROUTINE `myschema`.* TO 'serveruser'; 

和产生这个错误:

Executing SQL script in server 

ERROR: Error 1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '`myschema`.* TO 'serveruser'' at line 1 





GRANT EXECUTE ON ROUTINE `myschema`.* TO 'serveruser' 



SQL script execution finished: statements: 228 succeeded, 1 failed 

但是,如果我选择其他角色,如业主或table.insert,它通过就好了。

回答

3

尝试改用:

GRANT EXECUTE ON PROCEDURE `myschema`.* TO 'serveruser' 
+0

试试你来了先:) – Miki 2014-10-03 18:30:58

+0

LOL :)谢谢美姬 – danmullen 2014-10-03 18:31:47

1

CREATE USER 'serveruser' IDENTIFIED BY 'PASSWORD'; 

GRANT EXECUTE ON PROCEDURE `myschema`.* TO 'serveruser';