CREATE ROLE 需要 CREATE ROLE 权限。OR REPLACE 会丢弃同名的已有角色以及授予该角色的权限,因此还额外需要 DROP ROLE 权限。无论语句中列出的角色是否已经存在,都需要对每一个名称拥有 DROP ROLE 权限,因此该语句无法用于探测哪些角色存在。
管理角色
一个用户可以被分配多个角色。用户可以通过 SET ROLE 语句,以任意组合启用分配给自己的角色。最终的权限范围是所有已启用角色权限的并集。如果某个用户的用户账户还被直接授予了权限,这些权限也会与通过角色授予的权限合并。 用户可以拥有在登录时自动生效的默认角色。要设置默认角色,请使用 SET DEFAULT ROLE 语句或 ALTER USER 语句。 要撤销角色,请使用 REVOKE 语句。 要删除角色,请使用 DROP ROLE 语句。删除角色后,系统会自动从所有被分配了该角色的用户和其他角色中撤销该角色。示例
accountant,该角色拥有读取 db 数据库中数据的权限。
将该角色授予用户 mira: