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';
广告
© . All rights reserved.