文件首頁
MySQL 9.0 參考手冊
相關文件 下載本手冊
PDF (美式 Letter) - 40.0Mb
PDF (A4) - 40.1Mb
Man Pages (TGZ) - 258.2Kb
Man Pages (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 9.0 參考手冊  /  ...  /  CREATE ROLE 陳述式

15.7.1.2 CREATE ROLE 陳述式

CREATE ROLE [IF NOT EXISTS] role [, role ] ...

CREATE ROLE 會建立一個或多個角色,這些角色是具名的權限集合。要使用此陳述式,您必須擁有全域的 CREATE ROLECREATE USER 權限。當 read_only 系統變數啟用時,CREATE ROLE 另外還需要 CONNECTION_ADMIN 權限(或已棄用的 SUPER 權限)。

角色在建立時會被鎖定,沒有密碼,並被指派預設的身份驗證外掛程式。(這些角色屬性之後可以使用 ALTER USER 陳述式來更改,由擁有全域 CREATE USER 權限的使用者執行。)

CREATE ROLE 若所有具名角色都成功建立,則會成功;若發生任何錯誤,則會回滾且沒有任何效果。預設情況下,如果您嘗試建立已存在的角色,則會發生錯誤。如果給定 IF NOT EXISTS 子句,則對於每個已存在的具名角色,該陳述式會產生警告,而不是錯誤。

如果陳述式成功,則會寫入二進制日誌,但如果失敗則不會;在這種情況下,會發生回滾且不會進行任何變更。寫入二進制日誌的陳述式會包含所有具名角色。如果給定 IF NOT EXISTS 子句,則會包含甚至已存在且未建立的角色。

每個角色名稱都使用 第 8.2.5 節「指定角色名稱」中描述的格式。例如

CREATE ROLE 'admin', 'developer';
CREATE ROLE 'webapp'@'localhost';

如果省略角色名稱的主機名稱部分,則預設值為 '%'

有關角色使用範例,請參閱 第 8.2.10 節「使用角色」