SET ROLE

    SetRoleStmt:

    SetRoleOpt:

    SetDefaultRoleOpt:

    SetDefaultRoleOpt

    创建一个用户 'u1'@'%', 创建三个角色 'r1'@'%', 'r2'@'%', 'r3'@'%' 并将这些角色授予给 'u1'@'%'。将 'u1'@'%' 的默认启用角色设置为 'r1'@'%'

    1. SET ROLE ALL;
    2. SELECT CURRENT_ROLE();
    1. +----------------------------+
    2. | CURRENT_ROLE() |
    3. | `r1`@`%`,`r2`@`%`,`r3`@`%` |
    4. 1 row in set (0.000 sec)

    执行 SET ROLE 将启用角色设置为 'r2''r3'

    1. +-------------------+
    2. | CURRENT_ROLE() |
    3. +-------------------+
    4. | `r2`@`%`,`r3`@`%` |
    5. +-------------------+
    6. 1 row in set (0.000 sec)

    执行 SET ROLE 将启用角色设置为 DEFAULT

    1. SET ROLE DEFAULT;

    执行 SET ROLE 将启用角色设置为 NONE

    1. SET ROLE NONE;
    1. +----------------+
    2. | CURRENT_ROLE() |
    3. +----------------+
    4. | |
    5. +----------------+
    6. 1 row in set (0.000 sec)