MySQL - 設定預設角色語句



角色是一組命名的許可權,如果您將任何角色設定為特定 MySQL 使用者的預設角色,那麼很快您將以該使用者身份連線到伺服器,設定為預設的角色將分配給該使用者。

並且在會話期間,如果您執行 SET ROLE DEFAULT 語句,則預設角色將設定為當前使用者。

SET DEFAULT ROLE 語句

您可以使用 SET DEFAULT ROLE 語句將任何角色設定為特定使用者的預設角色。要執行此語句,當前帳戶需要具有 CREATE USER 或 UPDATE USER 許可權。

語法

以下是 MySQL SET DEFAULT ROLE 語句的語法。

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

示例

假設我們使用 CREATE 語句建立了一個使用者和一個角色,如下所示:

CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';

CREATE ROLE 'TestRole_ReadOnly';

現在,讓我們使用 GRANT 語句向建立的角色授予只讀許可權,如下所示:

GRANT SELECT ON * . * TO 'TestRole_ReadOnly';

然後,您可以按如下方式向用戶授予建立的角色:

GRANT 'TestRole_ReadOnly' TO 'newuser'@'localhost';

以下查詢將上述 'TestRole_ReadOnly' 設定為上述建立使用者的預設角色:

SET DEFAULT ROLE 'TestRole_ReadOnly' TO 'newuser'@'localhost';

將預設角色設定為無

您可以使用 NONE 子句將預設角色設定為無:

SET DEFAULT ROLE NONE TO 'newuser'@'localhost';

將預設角色設定為 ALL

您可以使用 ALL 子句將預設角色設定為授予帳戶的所有角色:

SET DEFAULT ROLE ALL TO 'newuser'@'localhost';
廣告