MySQL - SET DEFAULT ROLE 语句
角色是一组命名的权限。如果您将任何角色设置为特定 MYSQL 用户的默认角色,则当您以该用户身份连接到服务器时,该默认角色将分配给该用户。
在会话期间,如果您执行 SET DEFAULT ROLE 语句,则默认角色将设置为当前用户。
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
您可以使用 NONE 子句将默认角色设置为 None -
SET DEFAULT ROLE NONE TO 'newuser'@'localhost';
将默认角色设置为 ALL
您可以使用 ALL 子句将默认角色设置为授予帐户的所有角色 -
SET DEFAULT ROLE ALL TO 'newuser'@'localhost';