我使用MySQL Workbench和MySQL 5.6。
我正在尝试创建一个只能执行存储过程的用户。
所以我创建了一个用户,提供了一个密码,然后给了“例程执行”#。
。它产生了这个:
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
但是,如果我选择任何其他角色,例如owner或table.insert,它就会很好。
答案 0 :(得分:3)
尝试更改为:
GRANT EXECUTE ON PROCEDURE `myschema`.* TO 'serveruser'
答案 1 :(得分:1)
尝试
CREATE USER 'serveruser' IDENTIFIED BY 'PASSWORD';
GRANT EXECUTE ON PROCEDURE `myschema`.* TO 'serveruser';