文件首頁
MySQL 8.4 參考手冊
相關文件 下載本手冊
PDF (美式信紙) - 39.9Mb
PDF (A4) - 40.0Mb
Man Pages (TGZ) - 258.5Kb
Man Pages (Zip) - 365.5Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 參考手冊  /  ...  /  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 節「使用角色」