跳至主要内容

GRANT 语句

  • 授予 权限 给 ClickHouse 用户账户或角色。
  • 将角色分配给用户帐户或其他角色。

要撤销权限,请使用 REVOKE 语句。您还可以使用 SHOW GRANTS 语句列出已授予的权限。

授予权限语法

GRANT [ON CLUSTER cluster_name] privilege[(column_name [,...])] [,...] ON {db.table[*]|db[*].*|*.*|table[*]|*} TO {user | role | CURRENT_USER} [,...] [WITH GRANT OPTION] [WITH REPLACE OPTION]
  • privilege — 权限类型。
  • role — ClickHouse 用户角色。
  • user — ClickHouse 用户账户。

WITH GRANT OPTION 子句授予 userrole 执行 GRANT 查询的权限。用户可以授予与其自身权限相同或更低的权限。WITH REPLACE OPTION 子句用新权限替换 userrole 的旧权限,如果未指定,则追加权限。

分配角色语法

GRANT [ON CLUSTER cluster_name] role [,...] TO {user | another_role | CURRENT_USER} [,...] [WITH ADMIN OPTION] [WITH REPLACE OPTION]
  • role — ClickHouse 用户角色。
  • user — ClickHouse 用户账户。

WITH ADMIN OPTION 子句授予 userrole ADMIN OPTION 权限。WITH REPLACE OPTION 子句用新角色替换 userrole 的旧角色,如果未指定,则追加角色。

授予当前权限语法

GRANT CURRENT GRANTS{(privilege[(column_name [,...])] [,...] ON {db.table|db.*|*.*|table|*}) | ON {db.table|db.*|*.*|table|*}} TO {user | role | CURRENT_USER} [,...] [WITH GRANT OPTION] [WITH REPLACE OPTION]
  • privilege — 权限类型。
  • role — ClickHouse 用户角色。
  • user — ClickHouse 用户账户。

使用 CURRENT GRANTS 语句,您可以将所有指定的权限授予给定的用户或角色。如果没有指定任何权限,则给定的用户或角色将获得 CURRENT_USER 的所有可用权限。

用法

要使用 GRANT,您的帐户必须具有 GRANT OPTION 权限。您只能在帐户权限范围内授予权限。

例如,管理员通过以下查询授予了 john 帐户权限

GRANT SELECT(x,y) ON db.table TO john WITH GRANT OPTION

这意味着 john 有权执行

  • SELECT x,y FROM db.table.
  • SELECT x FROM db.table.
  • SELECT y FROM db.table.

john 不能执行 SELECT z FROM db.tableSELECT * FROM db.table 也不可用。处理此查询时,ClickHouse 不会返回任何数据,即使是 xy。唯一的例外是如果表仅包含 xy 列。在这种情况下,ClickHouse 会返回所有数据。

此外,john 还拥有 GRANT OPTION 权限,因此它可以授予其他用户相同或更小范围的权限。

始终允许访问 system 数据库(因为此数据库用于处理查询)。

您可以在一个查询中向多个帐户授予多个权限。查询 GRANT SELECT, INSERT ON *.* TO john, robin 允许帐户 johnrobin 对服务器上所有数据库中的所有表执行 INSERTSELECT 查询。

通配符授权

在指定权限时,您可以使用星号 (*) 代替表名或数据库名。例如,查询 GRANT SELECT ON db.* TO john 允许 johndb 数据库中的所有表执行 SELECT 查询。此外,您还可以省略数据库名。在这种情况下,权限将授予当前数据库。例如,GRANT SELECT ON * TO john 授予当前数据库中所有表的权限,GRANT SELECT ON mytable TO john 授予当前数据库中 mytable 表的权限。

您还可以将星号放在表名或数据库名的末尾。此功能允许您对表的路径的抽象前缀授予权限。例如:GRANT SELECT ON db.my_tables* TO john。此查询允许 johndb 数据库中以 my_tables* 为前缀的所有表执行 SELECT 查询。

更多示例

GRANT SELECT ON db.my_tables* TO john

SELECT * FROM db.my_tables -- granted
SELECT * FROM db.my_tables_0 -- granted
SELECT * FROM db.my_tables_1 -- granted

SELECT * FROM db.other_table -- not_granted
SELECT * FROM db2.my_tables -- not_granted

GRANT SELECT ON db*.* TO john

SELECT * FROM db.my_tables -- granted
SELECT * FROM db.my_tables_0 -- granted
SELECT * FROM db.my_tables_1 -- granted
SELECT * FROM db.other_table -- granted
SELECT * FROM db2.my_tables -- granted

在授予的路径内新创建的所有表都将自动继承其父级的所有授权。例如,如果您运行查询 GRANT SELECT ON db.* TO john,然后创建一个新表 db.new_table,则用户 john 将能够运行查询 SELECT * FROM db.new_table

您只能为前缀指定星号

GRANT SELECT ON db.* TO john -- correct
GRANT SELECT ON db*.* TO john -- correct

GRANT SELECT ON *.my_table TO john -- wrong
GRANT SELECT ON foo*bar TO john -- wrong
GRANT SELECT ON *suffix TO john -- wrong

权限

权限是执行特定类型查询的许可。

权限具有层次结构。允许的查询集取决于权限范围。

权限层次结构

  • SELECT
  • INSERT
  • ALTER
    • ALTER TABLE
      • ALTER UPDATE
      • ALTER DELETE
      • ALTER COLUMN
        • ALTER ADD COLUMN
        • ALTER DROP COLUMN
        • ALTER MODIFY COLUMN
        • ALTER COMMENT COLUMN
        • ALTER CLEAR COLUMN
        • ALTER RENAME COLUMN
      • ALTER INDEX
        • ALTER ORDER BY
        • ALTER SAMPLE BY
        • ALTER ADD INDEX
        • ALTER DROP INDEX
        • ALTER MATERIALIZE INDEX
        • ALTER CLEAR INDEX
      • ALTER CONSTRAINT
        • ALTER ADD CONSTRAINT
        • ALTER DROP CONSTRAINT
      • ALTER TTL
        • ALTER MATERIALIZE TTL
      • ALTER SETTINGS
      • ALTER MOVE PARTITION
      • ALTER FETCH PARTITION
      • ALTER FREEZE PARTITION
    • ALTER VIEW
      • ALTER VIEW REFRESH
      • ALTER VIEW MODIFY QUERY
      • ALTER VIEW MODIFY SQL SECURITY
  • CREATE
    • CREATE DATABASE
    • CREATE TABLE
      • CREATE ARBITRARY TEMPORARY TABLE
        • CREATE TEMPORARY TABLE
    • CREATE VIEW
    • CREATE DICTIONARY
    • CREATE FUNCTION
  • DROP
    • DROP DATABASE
    • DROP TABLE
    • DROP VIEW
    • DROP DICTIONARY
    • DROP FUNCTION
  • TRUNCATE
  • OPTIMIZE
  • SHOW
    • SHOW DATABASES
    • SHOW TABLES
    • SHOW COLUMNS
    • SHOW DICTIONARIES
  • KILL QUERY
  • 访问管理
    • CREATE USER
    • ALTER USER
    • DROP USER
    • CREATE ROLE
    • ALTER ROLE
    • DROP ROLE
    • CREATE ROW POLICY
    • ALTER ROW POLICY
    • DROP ROW POLICY
    • CREATE QUOTA
    • ALTER QUOTA
    • DROP QUOTA
    • CREATE SETTINGS PROFILE
    • ALTER SETTINGS PROFILE
    • DROP SETTINGS PROFILE
    • SHOW ACCESS
      • SHOW_USERS
      • SHOW_ROLES
      • SHOW_ROW_POLICIES
      • SHOW_QUOTAS
      • SHOW_SETTINGS_PROFILES
    • ROLE ADMIN
  • SYSTEM
    • SYSTEM SHUTDOWN
    • SYSTEM DROP CACHE
      • SYSTEM DROP DNS CACHE
      • SYSTEM DROP MARK CACHE
      • SYSTEM DROP UNCOMPRESSED CACHE
    • SYSTEM RELOAD
      • SYSTEM RELOAD CONFIG
      • SYSTEM RELOAD DICTIONARY
        • SYSTEM RELOAD EMBEDDED DICTIONARIES
      • SYSTEM RELOAD FUNCTION
      • SYSTEM RELOAD FUNCTIONS
    • SYSTEM MERGES
    • SYSTEM TTL MERGES
    • SYSTEM FETCHES
    • SYSTEM MOVES
    • SYSTEM SENDS
      • SYSTEM DISTRIBUTED SENDS
      • SYSTEM REPLICATED SENDS
    • SYSTEM REPLICATION QUEUES
    • SYSTEM SYNC REPLICA
    • SYSTEM RESTART REPLICA
    • SYSTEM FLUSH
      • SYSTEM FLUSH DISTRIBUTED
      • SYSTEM FLUSH LOGS
    • CLUSTER (另请参阅 access_control_improvements.on_cluster_queries_require_cluster_grant 配置指令)
  • 自检
    • addressToLine
    • addressToLineWithInlines
    • addressToSymbol
    • demangle
    • AZURE
    • FILE
    • HDFS
    • HIVE
    • JDBC
    • MONGO
    • MYSQL
    • ODBC
    • POSTGRES
    • REDIS
    • REMOTE
    • S3
    • SQLITE
    • URL
  • dictGet
  • displaySecretsInShowAndSelect
  • 命名集合管理
    • CREATE NAMED COLLECTION
    • DROP NAMED COLLECTION
    • ALTER NAMED COLLECTION
    • SHOW NAMED COLLECTIONS
    • SHOW NAMED COLLECTIONS SECRETS
    • 命名集合
  • 表引擎

此层次结构处理方式的示例

  • ALTER 权限包含所有其他 ALTER* 权限。
  • ALTER CONSTRAINT 包含 ALTER ADD CONSTRAINTALTER DROP CONSTRAINT 权限。

权限应用于不同的级别。了解级别表明了可用于权限的语法。

级别(从低到高)

  • COLUMN — 权限可以授予列、表、数据库或全局。
  • TABLE — 权限可以授予表、数据库或全局。
  • VIEW — 权限可以授予视图、数据库或全局。
  • DICTIONARY — 权限可以授予字典、数据库或全局。
  • DATABASE — 权限可以授予数据库或全局。
  • GLOBAL — 权限只能全局授予。
  • GROUP — 对不同级别的权限进行分组。当授予GROUP级别的权限时,只会授予与使用的语法相对应的组权限。

允许的语法示例

  • GRANT SELECT(x) ON db.table TO user
  • GRANT SELECT ON db.* TO user

不允许的语法示例

  • GRANT CREATE USER(x) ON db.table TO user
  • GRANT CREATE USER ON db.* TO user

特殊权限ALL 将所有权限授予用户帐户或角色。

默认情况下,用户帐户或角色没有权限。

如果用户或角色没有权限,则显示为NONE 权限。

某些查询根据其实现需要一组权限。例如,要执行RENAME 查询,您需要以下权限:SELECTCREATE TABLEINSERTDROP TABLE

SELECT

允许执行SELECT 查询。

权限级别:COLUMN

描述

拥有此权限的用户可以在指定的表和数据库中执行指定列列表上的SELECT 查询。如果用户包含其他列,则指定的查询不返回任何数据。

考虑以下权限

GRANT SELECT(x,y) ON db.table TO john

此权限允许john 执行任何涉及db.tablex 和/或y 列数据的SELECT 查询,例如,SELECT x FROM db.tablejohn 无法执行SELECT z FROM db.tableSELECT * FROM db.table 也不可用。处理此查询时,ClickHouse 不会返回任何数据,即使是xy。唯一的例外是如果表仅包含xy 列,在这种情况下,ClickHouse 会返回所有数据。

INSERT

允许执行INSERT 查询。

权限级别:COLUMN

描述

拥有此权限的用户可以在指定的表和数据库中执行指定列列表上的INSERT 查询。如果用户包含其他列,则指定的查询不会插入任何数据。

示例

GRANT INSERT(x,y) ON db.table TO john

授予的权限允许john 将数据插入db.table 中的x 和/或y 列。

ALTER

允许根据以下权限层次结构执行ALTER 查询

  • ALTER。级别:COLUMN
    • ALTER TABLE。级别:GROUP
      • ALTER UPDATE。级别:COLUMN。别名:UPDATE
      • ALTER DELETE。级别:COLUMN。别名:DELETE
      • ALTER COLUMN。级别:GROUP
        • ALTER ADD COLUMN。级别:COLUMN。别名:ADD COLUMN
        • ALTER DROP COLUMN。级别:COLUMN。别名:DROP COLUMN
        • ALTER MODIFY COLUMN。级别:COLUMN。别名:MODIFY COLUMN
        • ALTER COMMENT COLUMN。级别:COLUMN。别名:COMMENT COLUMN
        • ALTER CLEAR COLUMN。级别:COLUMN。别名:CLEAR COLUMN
        • ALTER RENAME COLUMN。级别:COLUMN。别名:RENAME COLUMN
      • ALTER INDEX。级别:GROUP。别名:INDEX
        • ALTER ORDER BY。级别:TABLE。别名:ALTER MODIFY ORDER BYMODIFY ORDER BY
        • ALTER SAMPLE BY。级别:TABLE。别名:ALTER MODIFY SAMPLE BYMODIFY SAMPLE BY
        • ALTER ADD INDEX。级别:TABLE。别名:ADD INDEX
        • ALTER DROP INDEX。级别:TABLE。别名:DROP INDEX
        • ALTER MATERIALIZE INDEX。级别:TABLE。别名:MATERIALIZE INDEX
        • ALTER CLEAR INDEX。级别:TABLE。别名:CLEAR INDEX
      • ALTER CONSTRAINT。级别:GROUP。别名:CONSTRAINT
        • ALTER ADD CONSTRAINT。级别:TABLE。别名:ADD CONSTRAINT
        • ALTER DROP CONSTRAINT。级别:TABLE。别名:DROP CONSTRAINT
      • ALTER TTL。级别:TABLE。别名:ALTER MODIFY TTLMODIFY TTL
        • ALTER MATERIALIZE TTL。级别:TABLE。别名:MATERIALIZE TTL
      • ALTER SETTINGS。级别:TABLE。别名:ALTER SETTINGALTER MODIFY SETTINGMODIFY SETTING
      • ALTER MOVE PARTITION。级别:TABLE。别名:ALTER MOVE PARTMOVE PARTITIONMOVE PART
      • ALTER FETCH PARTITION。级别:TABLE。别名:ALTER FETCH PARTFETCH PARTITIONFETCH PART
      • ALTER FREEZE PARTITION。级别:TABLE。别名:FREEZE PARTITION
    • ALTER VIEW 级别:GROUP
      • ALTER VIEW REFRESH。级别:VIEW。别名:ALTER LIVE VIEW REFRESHREFRESH VIEW
      • ALTER VIEW MODIFY QUERY。级别:VIEW。别名:ALTER TABLE MODIFY QUERY
      • ALTER VIEW MODIFY SQL SECURITY。级别:VIEW。别名:ALTER TABLE MODIFY SQL SECURITY

此层次结构处理方式的示例

  • ALTER 权限包含所有其他 ALTER* 权限。
  • ALTER CONSTRAINT 包含 ALTER ADD CONSTRAINTALTER DROP CONSTRAINT 权限。

注释

  • MODIFY SETTING 权限允许修改表引擎设置。它不影响设置或服务器配置参数。
  • ATTACH 操作需要CREATE 权限。
  • DETACH 操作需要DROP 权限。
  • 要停止KILL MUTATION 查询的变异,您需要具有启动此变异的权限。例如,如果您想停止ALTER UPDATE 查询,则需要ALTER UPDATEALTER TABLEALTER 权限。

CREATE

允许根据以下权限层次结构执行CREATEATTACH DDL 查询

  • CREATE。级别:GROUP
    • CREATE DATABASE。级别:DATABASE
    • CREATE TABLE。级别:TABLE
      • CREATE ARBITRARY TEMPORARY TABLE。级别:GLOBAL
        • CREATE TEMPORARY TABLE。级别:GLOBAL
    • CREATE VIEW。级别:VIEW
    • CREATE DICTIONARY。级别:DICTIONARY

注释

  • 要删除创建的表,用户需要DROP

DROP

允许根据以下权限层次结构执行DROPDETACH 查询

  • DROP。级别:GROUP
    • DROP DATABASE。级别:DATABASE
    • DROP TABLE。级别:TABLE
    • DROP VIEW。级别:VIEW
    • DROP DICTIONARY。级别:DICTIONARY

TRUNCATE

允许执行TRUNCATE 查询。

权限级别:TABLE

OPTIMIZE

允许执行OPTIMIZE TABLE 查询。

权限级别:TABLE

SHOW

允许根据以下权限层次结构执行SHOWDESCRIBEUSEEXISTS 查询

  • SHOW。级别:GROUP
    • SHOW DATABASES。级别:DATABASE。允许执行SHOW DATABASESSHOW CREATE DATABASEUSE <database> 查询。
    • SHOW TABLES。级别:TABLE。允许执行SHOW TABLESEXISTS <table>CHECK <table> 查询。
    • SHOW COLUMNS。级别:COLUMN。允许执行SHOW CREATE TABLEDESCRIBE 查询。
    • SHOW DICTIONARIES。级别:DICTIONARY。允许执行SHOW DICTIONARIESSHOW CREATE DICTIONARYEXISTS <dictionary> 查询。

注释

如果用户具有与指定表、字典或数据库相关的任何其他权限,则该用户具有SHOW 权限。

KILL QUERY

允许根据以下权限层次结构执行KILL 查询

权限级别:GLOBAL

注释

KILL QUERY 权限允许一个用户终止其他用户的查询。

ACCESS MANAGEMENT

允许用户执行管理用户、角色和行策略的查询。

  • ACCESS MANAGEMENT。级别:GROUP
    • CREATE USER。级别:GLOBAL
    • ALTER USER。级别:GLOBAL
    • DROP USER。级别:GLOBAL
    • CREATE ROLE。级别:GLOBAL
    • ALTER ROLE。级别:GLOBAL
    • DROP ROLE。级别:GLOBAL
    • ROLE ADMIN。级别:GLOBAL
    • CREATE ROW POLICY。级别:GLOBAL。别名:CREATE POLICY
    • ALTER ROW POLICY。级别:GLOBAL。别名:ALTER POLICY
    • DROP ROW POLICY。级别:GLOBAL。别名:DROP POLICY
    • CREATE QUOTA。级别:GLOBAL
    • ALTER QUOTA。级别:GLOBAL
    • DROP QUOTA。级别:GLOBAL
    • CREATE SETTINGS PROFILE。级别:GLOBAL。别名:CREATE PROFILE
    • ALTER SETTINGS PROFILE。级别:GLOBAL。别名:ALTER PROFILE
    • DROP SETTINGS PROFILE。级别:GLOBAL。别名:DROP PROFILE
    • SHOW ACCESS。级别:GROUP
      • SHOW_USERS。级别:GLOBAL。别名:SHOW CREATE USER
      • SHOW_ROLES。级别:GLOBAL。别名:SHOW CREATE ROLE
      • SHOW_ROW_POLICIES。级别:GLOBAL。别名:SHOW POLICIESSHOW CREATE ROW POLICYSHOW CREATE POLICY
      • SHOW_QUOTAS。级别:GLOBAL。别名:SHOW CREATE QUOTA
      • SHOW_SETTINGS_PROFILES。级别:GLOBAL。别名:SHOW PROFILESSHOW CREATE SETTINGS PROFILESHOW CREATE PROFILE
    • ALLOW SQL SECURITY NONE。级别:GLOBAL。别名:CREATE SQL SECURITY NONESQL SECURITY NONESECURITY NONE

ROLE ADMIN 权限允许用户分配和撤销任何角色,包括未分配给具有管理员选项的用户角色。

SYSTEM

允许用户根据以下权限层次结构执行SYSTEM 查询。

  • SYSTEM。级别:GROUP
    • SYSTEM SHUTDOWN。级别:GLOBAL。别名:SYSTEM KILLSHUTDOWN
    • SYSTEM DROP CACHE。别名:DROP CACHE
      • SYSTEM DROP DNS CACHE。级别:GLOBAL。别名:SYSTEM DROP DNSDROP DNS CACHEDROP DNS
      • SYSTEM DROP MARK CACHE。级别:GLOBAL。别名:SYSTEM DROP MARKDROP MARK CACHEDROP MARKS

      • SYSTEM DROP UNCOMPRESSED CACHE。级别:GLOBAL。别名:SYSTEM DROP UNCOMPRESSEDDROP UNCOMPRESSED CACHEDROP UNCOMPRESSED
    • SYSTEM RELOAD。级别:GROUP
      • SYSTEM RELOAD CONFIG。级别:GLOBAL。别名:RELOAD CONFIG
      • SYSTEM RELOAD DICTIONARY。级别:GLOBAL。别名:SYSTEM RELOAD DICTIONARIESRELOAD DICTIONARYRELOAD DICTIONARIES
        • SYSTEM RELOAD EMBEDDED DICTIONARIES。级别:GLOBAL。别名:RELOAD EMBEDDED DICTIONARIES
    • SYSTEM MERGES。级别:TABLE。别名:SYSTEM STOP MERGESSYSTEM START MERGESSTOP MERGESSTART MERGES
    • SYSTEM TTL MERGES。级别:TABLE。别名:SYSTEM STOP TTL MERGESSYSTEM START TTL MERGESSTOP TTL MERGESSTART TTL MERGES
    • SYSTEM FETCHES。级别:TABLE。别名:SYSTEM STOP FETCHESSYSTEM START FETCHESSTOP FETCHESSTART FETCHES
    • SYSTEM MOVES。级别:TABLE。别名:SYSTEM STOP MOVESSYSTEM START MOVESSTOP MOVESSTART MOVES
    • SYSTEM SENDS。级别:GROUP。别名:SYSTEM STOP SENDSSYSTEM START SENDSSTOP SENDSSTART SENDS
      • SYSTEM DISTRIBUTED SENDS。级别:TABLE。别名:SYSTEM STOP DISTRIBUTED SENDSSYSTEM START DISTRIBUTED SENDSSTOP DISTRIBUTED SENDSSTART DISTRIBUTED SENDS
      • SYSTEM REPLICATED SENDS。级别:TABLE。别名:SYSTEM STOP REPLICATED SENDSSYSTEM START REPLICATED SENDSSTOP REPLICATED SENDSSTART REPLICATED SENDS
    • SYSTEM REPLICATION QUEUES。级别:TABLE。别名:SYSTEM STOP REPLICATION QUEUESSYSTEM START REPLICATION QUEUESSTOP REPLICATION QUEUESSTART REPLICATION QUEUES
    • SYSTEM SYNC REPLICA。级别:TABLE。别名:SYNC REPLICA
    • SYSTEM RESTART REPLICA。级别:TABLE。别名:RESTART REPLICA
    • SYSTEM FLUSH。级别:GROUP
      • SYSTEM FLUSH DISTRIBUTED。级别:TABLE。别名:FLUSH DISTRIBUTED
      • SYSTEM FLUSH LOGS。级别:GLOBAL。别名:FLUSH LOGS

SYSTEM RELOAD EMBEDDED DICTIONARIES 权限由 SYSTEM RELOAD DICTIONARY ON *.* 权限隐式授予。

内省

允许使用 内省 函数。

  • INTROSPECTION。级别:GROUP。别名:INTROSPECTION FUNCTIONS
    • addressToLine。级别:GLOBAL
    • addressToLineWithInlines。级别:GLOBAL
    • addressToSymbol。级别:GLOBAL
    • demangle。级别:GLOBAL

数据源

允许使用外部数据源。适用于 表引擎表函数

  • SOURCES。级别:GROUP
    • AZURE。级别:GLOBAL
    • FILE。级别:GLOBAL
    • HDFS。级别:GLOBAL
    • HIVE。级别:GLOBAL
    • JDBC。级别:GLOBAL
    • MONGO。级别:GLOBAL
    • MYSQL。级别:GLOBAL
    • ODBC。级别:GLOBAL
    • POSTGRES。级别:GLOBAL
    • REDIS。级别:GLOBAL
    • REMOTE。级别:GLOBAL
    • S3。级别:GLOBAL
    • SQLITE。级别:GLOBAL
    • URL。级别:GLOBAL

SOURCES 权限启用所有数据源的使用。您还可以为每个数据源单独授予权限。要使用数据源,您需要其他权限。

示例

  • 要使用 MySQL 表引擎 创建表,您需要 CREATE TABLE (ON db.table_name)MYSQL 权限。
  • 要使用 mysql 表函数,您需要 CREATE TEMPORARY TABLEMYSQL 权限。

dictGet

  • dictGet。别名:dictHasdictGetHierarchydictIsIn

允许用户执行 dictGetdictHasdictGetHierarchydictIsIn 函数。

权限级别:DICTIONARY

示例

  • GRANT dictGet ON mydb.mydictionary TO john
  • GRANT dictGet ON mydictionary TO john

displaySecretsInShowAndSelect

如果 display_secrets_in_show_and_select 服务器设置format_display_secrets_in_show_and_select 格式设置 均已启用,则允许用户在 SHOWSELECT 查询中查看密钥。

命名集合管理员

允许对指定的命名集合执行某些操作。在 23.7 版本之前,它被称为 NAMED COLLECTION CONTROL,在 23.7 之后添加了 NAMED COLLECTION ADMIN,并且 NAMED COLLECTION CONTROL 保留为别名。

  • NAMED COLLECTION ADMIN。级别:NAMED_COLLECTION。别名:NAMED COLLECTION CONTROL
    • CREATE NAMED COLLECTION。级别:NAMED_COLLECTION
    • DROP NAMED COLLECTION。级别:NAMED_COLLECTION
    • ALTER NAMED COLLECTION。级别:NAMED_COLLECTION
    • SHOW NAMED COLLECTIONS。级别:NAMED_COLLECTION。别名:SHOW NAMED COLLECTIONS
    • SHOW NAMED COLLECTIONS SECRETS。级别:NAMED_COLLECTION。别名:SHOW NAMED COLLECTIONS SECRETS
    • NAMED COLLECTION。级别:NAMED_COLLECTION。别名:NAMED COLLECTION USAGE, USE NAMED COLLECTION

与所有其他授予权限(CREATE、DROP、ALTER、SHOW)不同,NAMED COLLECTION 仅在 23.7 中添加,而其他所有权限都在更早的版本(22.12)中添加。

示例

假设命名集合名为 abc,我们将 CREATE NAMED COLLECTION 权限授予用户 john。

  • GRANT CREATE NAMED COLLECTION ON abc TO john

表引擎

允许在创建表时使用指定的表引擎。适用于 表引擎

示例

  • GRANT TABLE ENGINE ON * TO john
  • GRANT TABLE ENGINE ON TinyLog TO john

所有

将受管实体上的所有权限授予用户帐户或角色。

不授予任何权限。

管理员选项

ADMIN OPTION 权限允许用户将其角色授予其他用户。