跳到主要内容
版本:Latest-3.3

grants_to_roles

您可以通过查询 grants_to_roles 视图查看用户自定义角色的权限。

备注

默认仅拥有 user_admin 角色的用户或角色可以查询此视图,或通过 GRANT 语句将此视图的权限赋予给其他用户。

grants_to_roles 提供以下字段:

字段描述
GRANTEE被授予此权限的角色。只有用户自定义角色会出现在此视图中,系统预制角色不会出现在此视图中。
OBJECT_CATALOG权限对象所属的 Catalog。如果权限为 SYSTEM、RESOURCE GROUP、RESOURCE、USER 或 GLOBAL FUNCTION 级别权限,则返回 NULL
OBJECT_DATABASE权限对象所属的数据库。如果权限为 SYSTEM、RESOURCE GROUP、RESOURCE、USER、GLOBAL FUNCTION 或 CATALOG 级别权限,则返回 NULL
OBJECT_NAME权限对象所属的表。如果权限为 SYSTEM、RESOURCE GROUP、RESOURCE、USER、GLOBAL FUNCTION、CATALOG 或 DATABASE 级别权限,则返回 NULL
OBJECT_TYPE权限对象的类型。
PRIVILEGE_TYPE权限的类型。同一个对象上的不同权限会进行合并展示。如示例中,role_test 同时拥有 default_catalog.db_test.tbl1SELECTALTER权限,则会合并展示。
IS_GRANTABLE被授予角色是否拥有该权限的 GRANT 权限。

示例:

MySQL > SELECT * FROM sys.grants_to_roles LIMIT 5\G
*************************** 1. row ***************************
GRANTEE: role_test
OBJECT_CATALOG: default_catalog
OBJECT_DATABASE: db_test
OBJECT_NAME: tbl1
OBJECT_TYPE: TABLE
PRIVILEGE_TYPE: SELECT, ALTER
IS_GRANTABLE: NO
*************************** 2. row ***************************
GRANTEE: role_test
OBJECT_CATALOG: default_catalog
OBJECT_DATABASE: db_test
OBJECT_NAME: tbl2
OBJECT_TYPE: TABLE
PRIVILEGE_TYPE: SELECT
IS_GRANTABLE: YES
*************************** 3. row ***************************
GRANTEE: role_test
OBJECT_CATALOG: default_catalog
OBJECT_DATABASE: db_test
OBJECT_NAME: mv_test
OBJECT_TYPE: MATERIALIZED VIEW
PRIVILEGE_TYPE: SELECT
IS_GRANTABLE: YES
*************************** 4. row ***************************
GRANTEE: role_test
OBJECT_CATALOG: NULL
OBJECT_DATABASE: NULL
OBJECT_NAME: NULL
OBJECT_TYPE: SYSTEM
PRIVILEGE_TYPE: CREATE RESOURCE GROUP
IS_GRANTABLE: NO