文件首頁
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 參考手冊  /  ...  /  SET DEFAULT ROLE 陳述式

15.7.1.9 SET DEFAULT ROLE 陳述式

SET DEFAULT ROLE
    {NONE | ALL | role [, role ] ...}
    TO user [, user ] ...

對於緊接在 TO 關鍵字之後的每個使用者,此陳述式會定義使用者連線到伺服器並進行驗證時,或使用者在會話期間執行 SET ROLE DEFAULT 陳述式時,會啟用的角色。

SET DEFAULT ROLEALTER USER ... DEFAULT ROLE 的替代語法 (請參閱第 15.7.1.1 節,「ALTER USER Statement」)。然而,ALTER USER 只能為單一使用者設定預設角色,而 SET DEFAULT ROLE 可以為多個使用者設定預設角色。另一方面,您可以在 ALTER USER 陳述式中指定 CURRENT_USER 作為使用者名稱,但在 SET DEFAULT ROLE 中則不能。

SET DEFAULT ROLE 需要以下權限

  • 為其他使用者設定預設角色需要全域 CREATE USER 權限,或是 mysql.default_roles 系統資料表的 UPDATE 權限。

  • 為自己設定預設角色不需要任何特殊權限,只要您想要作為預設值的角色已授予給您即可。

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

SET DEFAULT ROLE 'admin', 'developer' TO 'joe'@'10.0.0.1';

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

DEFAULT ROLE 關鍵字後面的子句允許以下值

  • NONE:將預設值設為 NONE (沒有角色)。

  • ALL:將預設值設為授予給該帳戶的所有角色。

  • role [, role ] ...:將預設值設為指定的角色,這些角色必須存在,並且在執行 SET DEFAULT ROLE 時已授予給該帳戶。

注意

SET DEFAULT ROLESET ROLE DEFAULT 是不同的陳述式

  • SET DEFAULT ROLE 定義在帳戶會話中預設啟用的帳戶角色。

  • SET ROLE DEFAULT 將目前會話中的啟用角色設定為目前帳戶的預設角色。

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