2014-09-27 247 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';