2014-10-19 102 views
2

有沒有辦法在MySQL上使用ROLE?可以在Postgresql上使用它,但是當我在MySQL上這樣做時,它會返回以下錯誤消息:如何在MySQL數據庫上創建角色

#1064 - 您的SQL語法有錯誤;檢查對應於你的MySQL服務器版本在線路附近使用「角色彩」正確的語法手冊1

+1

沒有mysql沒有角色。但是有http://www.databasejournal.com/features/mysql/assigning- roles-to-mysql-users.html – Mihai 2014-10-19 17:10:22

+0

感謝您的超級快速回復^^,正如他在您的鏈接中所說的那樣,MYSQL似乎不可能,我們必須使用工作臺或SecuRich ......再次感謝您 – user3470590 2014-10-19 17:22:53

回答

5

Mysql沒有角色。如果你正在尋找與MySQL兼容的將會是MariaDB的RDBMS。 MariaDB具有MySQL缺乏的基於角色的訪問控制,並且是開源的。

0

我來這裏尋找在MySQL中創建用戶的語法。 Postgres,截至版本8.1,並沒有提到用戶了,但在角色組合。從來沒有使用任何舊版本的Postgres,角色是我如何看待數據庫上下文中的用戶。

所以對我來說合適的答案會一直是MySQL調用它們的用戶,他們可以像這樣創建:

CREATE USER 'jeffrey'@'localhost' IDENTIFIED BY 'mypass'; 

「Account Management Statements」 in the MySQL manual下描述。

我希望這對某人有幫助。

3

我注意到,有些人聲稱MySQL沒有作用的實現,所以我想補充的是,MySQL 8.0有一個工作職能的執行:

例子:

CREATE ROLE r1; 
GRANT r1 TO [email protected]; 
GRANT SELECT, INSERT,UPDATE ON db1.* TO r1; 

參考: https://dev.mysql.com/doc/refman/8.0/en/roles.html

你可以下載源代碼和二進制文件進行測試這裏: https://dev.mysql.com/downloads/mysql/

在這個時候你必須選擇「開發版」和MySQL服務器8.0.1