SET ROLE
用于在当前用户会话中启用角色。使用 SET ROLE
启用角色后,用户可以使用这些角色的权限。
SetRoleStmt:
SetDefaultRoleOpt:
使用 'u1'@'%'
登录,执行 SET ROLE
将启用角色设置为 ALL
。
SET ROLE ALL;
SELECT CURRENT_ROLE();
+----------------------------+
| CURRENT_ROLE() |
| `r1`@`%`,`r2`@`%`,`r3`@`%` |
1 row in set (0.000 sec)
执行 SET ROLE
将启用角色设置为 'r2'
和 'r3'
。
+-------------------+
| CURRENT_ROLE() |
+-------------------+
| `r2`@`%`,`r3`@`%` |
+-------------------+
1 row in set (0.000 sec)
执行 SET ROLE
将启用角色设置为 DEFAULT
。
SET ROLE DEFAULT;
SET ROLE NONE;
+----------------+
| CURRENT_ROLE() |
+----------------+
| |
+----------------+
1 row in set (0.000 sec)
SET ROLE
语句与 MySQL 8.0 的角色功能完全兼容。如发现任何兼容性差异,请在 GitHub 上提交 。