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
子句授予 user
或 role
执行 GRANT
查询的权限。用户可以授予与其自身权限相同或更低的权限。WITH REPLACE OPTION
子句用新权限替换 user
或 role
的旧权限,如果未指定,则追加权限。
分配角色语法
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
子句授予 user
或 role
ADMIN OPTION 权限。WITH REPLACE OPTION
子句用新角色替换 user
或 role
的旧角色,如果未指定,则追加角色。
授予当前权限语法
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.table
。SELECT * FROM db.table
也不可用。处理此查询时,ClickHouse 不会返回任何数据,即使是 x
和 y
。唯一的例外是如果表仅包含 x
和 y
列。在这种情况下,ClickHouse 会返回所有数据。
此外,john
还拥有 GRANT OPTION
权限,因此它可以授予其他用户相同或更小范围的权限。
始终允许访问 system
数据库(因为此数据库用于处理查询)。
您可以在一个查询中向多个帐户授予多个权限。查询 GRANT SELECT, INSERT ON *.* TO john, robin
允许帐户 john
和 robin
对服务器上所有数据库中的所有表执行 INSERT
和 SELECT
查询。
通配符授权
在指定权限时,您可以使用星号 (*
) 代替表名或数据库名。例如,查询 GRANT SELECT ON db.* TO john
允许 john
对 db
数据库中的所有表执行 SELECT
查询。此外,您还可以省略数据库名。在这种情况下,权限将授予当前数据库。例如,GRANT SELECT ON * TO john
授予当前数据库中所有表的权限,GRANT SELECT ON mytable TO john
授予当前数据库中 mytable
表的权限。
您还可以将星号放在表名或数据库名的末尾。此功能允许您对表的路径的抽象前缀授予权限。例如:GRANT SELECT ON db.my_tables* TO john
。此查询允许 john
对 db
数据库中以 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 CONSTRAINT
和ALTER 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 查询,您需要以下权限:SELECT
、CREATE TABLE
、INSERT
和 DROP TABLE
。
SELECT
允许执行SELECT 查询。
权限级别:COLUMN
。
描述
拥有此权限的用户可以在指定的表和数据库中执行指定列列表上的SELECT
查询。如果用户包含其他列,则指定的查询不返回任何数据。
考虑以下权限
GRANT SELECT(x,y) ON db.table TO john
此权限允许john
执行任何涉及db.table
中x
和/或y
列数据的SELECT
查询,例如,SELECT x FROM db.table
。john
无法执行SELECT z FROM db.table
。SELECT * FROM db.table
也不可用。处理此查询时,ClickHouse 不会返回任何数据,即使是x
和y
。唯一的例外是如果表仅包含x
和y
列,在这种情况下,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 BY
、MODIFY ORDER BY
ALTER SAMPLE BY
。级别:TABLE
。别名:ALTER MODIFY SAMPLE BY
、MODIFY 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 TTL
、MODIFY TTL
ALTER MATERIALIZE TTL
。级别:TABLE
。别名:MATERIALIZE TTL
ALTER SETTINGS
。级别:TABLE
。别名:ALTER SETTING
、ALTER MODIFY SETTING
、MODIFY SETTING
ALTER MOVE PARTITION
。级别:TABLE
。别名:ALTER MOVE PART
、MOVE PARTITION
、MOVE PART
ALTER FETCH PARTITION
。级别:TABLE
。别名:ALTER FETCH PART
、FETCH PARTITION
、FETCH PART
ALTER FREEZE PARTITION
。级别:TABLE
。别名:FREEZE PARTITION
ALTER VIEW
级别:GROUP
ALTER VIEW REFRESH
。级别:VIEW
。别名:ALTER LIVE VIEW REFRESH
、REFRESH 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 CONSTRAINT
和ALTER DROP CONSTRAINT
权限。
注释
MODIFY SETTING
权限允许修改表引擎设置。它不影响设置或服务器配置参数。ATTACH
操作需要CREATE 权限。DETACH
操作需要DROP 权限。- 要停止KILL MUTATION 查询的变异,您需要具有启动此变异的权限。例如,如果您想停止
ALTER UPDATE
查询,则需要ALTER UPDATE
、ALTER TABLE
或ALTER
权限。
CREATE
允许根据以下权限层次结构执行CREATE 和ATTACH 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
DROP
。级别:GROUP
DROP DATABASE
。级别:DATABASE
DROP TABLE
。级别:TABLE
DROP VIEW
。级别:VIEW
DROP DICTIONARY
。级别:DICTIONARY
TRUNCATE
允许执行TRUNCATE 查询。
权限级别:TABLE
。
OPTIMIZE
允许执行OPTIMIZE TABLE 查询。
权限级别:TABLE
。
SHOW
允许根据以下权限层次结构执行SHOW
、DESCRIBE
、USE
和EXISTS
查询
SHOW
。级别:GROUP
SHOW DATABASES
。级别:DATABASE
。允许执行SHOW DATABASES
、SHOW CREATE DATABASE
、USE <database>
查询。SHOW TABLES
。级别:TABLE
。允许执行SHOW TABLES
、EXISTS <table>
、CHECK <table>
查询。SHOW COLUMNS
。级别:COLUMN
。允许执行SHOW CREATE TABLE
、DESCRIBE
查询。SHOW DICTIONARIES
。级别:DICTIONARY
。允许执行SHOW DICTIONARIES
、SHOW CREATE DICTIONARY
、EXISTS <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 POLICIES
、SHOW CREATE ROW POLICY
、SHOW CREATE POLICY
SHOW_QUOTAS
。级别:GLOBAL
。别名:SHOW CREATE QUOTA
SHOW_SETTINGS_PROFILES
。级别:GLOBAL
。别名:SHOW PROFILES
、SHOW CREATE SETTINGS PROFILE
、SHOW CREATE PROFILE
ALLOW SQL SECURITY NONE
。级别:GLOBAL
。别名:CREATE SQL SECURITY NONE
、SQL SECURITY NONE
、SECURITY NONE
ROLE ADMIN
权限允许用户分配和撤销任何角色,包括未分配给具有管理员选项的用户角色。
SYSTEM
允许用户根据以下权限层次结构执行SYSTEM 查询。
SYSTEM
。级别:GROUP
SYSTEM SHUTDOWN
。级别:GLOBAL
。别名:SYSTEM KILL
、SHUTDOWN
SYSTEM DROP CACHE
。别名:DROP CACHE
SYSTEM DROP DNS CACHE
。级别:GLOBAL
。别名:SYSTEM DROP DNS
、DROP DNS CACHE
、DROP DNS
SYSTEM DROP MARK CACHE
。级别:GLOBAL
。别名:SYSTEM DROP MARK
、DROP MARK CACHE
、DROP MARKS
SYSTEM DROP UNCOMPRESSED CACHE
。级别:GLOBAL
。别名:SYSTEM DROP UNCOMPRESSED
、DROP UNCOMPRESSED CACHE
、DROP UNCOMPRESSED
SYSTEM RELOAD
。级别:GROUP
SYSTEM RELOAD CONFIG
。级别:GLOBAL
。别名:RELOAD CONFIG
SYSTEM RELOAD DICTIONARY
。级别:GLOBAL
。别名:SYSTEM RELOAD DICTIONARIES
、RELOAD DICTIONARY
、RELOAD DICTIONARIES
SYSTEM RELOAD EMBEDDED DICTIONARIES
。级别:GLOBAL
。别名:RELOAD EMBEDDED DICTIONARIES
SYSTEM MERGES
。级别:TABLE
。别名:SYSTEM STOP MERGES
、SYSTEM START MERGES
、STOP MERGES
、START MERGES
SYSTEM TTL MERGES
。级别:TABLE
。别名:SYSTEM STOP TTL MERGES
、SYSTEM START TTL MERGES
、STOP TTL MERGES
、START TTL MERGES
SYSTEM FETCHES
。级别:TABLE
。别名:SYSTEM STOP FETCHES
、SYSTEM START FETCHES
、STOP FETCHES
、START FETCHES
SYSTEM MOVES
。级别:TABLE
。别名:SYSTEM STOP MOVES
、SYSTEM START MOVES
、STOP MOVES
、START MOVES
SYSTEM SENDS
。级别:GROUP
。别名:SYSTEM STOP SENDS
、SYSTEM START SENDS
、STOP SENDS
、START SENDS
SYSTEM DISTRIBUTED SENDS
。级别:TABLE
。别名:SYSTEM STOP DISTRIBUTED SENDS
、SYSTEM START DISTRIBUTED SENDS
、STOP DISTRIBUTED SENDS
、START DISTRIBUTED SENDS
SYSTEM REPLICATED SENDS
。级别:TABLE
。别名:SYSTEM STOP REPLICATED SENDS
、SYSTEM START REPLICATED SENDS
、STOP REPLICATED SENDS
、START REPLICATED SENDS
SYSTEM REPLICATION QUEUES
。级别:TABLE
。别名:SYSTEM STOP REPLICATION QUEUES
、SYSTEM START REPLICATION QUEUES
、STOP REPLICATION QUEUES
、START 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 TABLE
和MYSQL
权限。
dictGet
dictGet
。别名:dictHas
、dictGetHierarchy
、dictIsIn
允许用户执行 dictGet、dictHas、dictGetHierarchy、dictIsIn 函数。
权限级别: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
格式设置 均已启用,则允许用户在 SHOW
和 SELECT
查询中查看密钥。
命名集合管理员
允许对指定的命名集合执行某些操作。在 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
权限允许用户将其角色授予其他用户。