查询权限
ClickHouse中的查询可以分为几种类型:
- 读取数据查询:
SELECT
,SHOW
,DESCRIBE
,EXISTS
。 - 写入数据查询:
INSERT
,OPTIMIZE
。 - 修改设置查询:
SET
,USE
。 - DDL 查询:
CREATE
,ALTER
,RENAME
,ATTACH
,DETACH
,DROP
,TRUNCATE
。 KILL QUERY
。
以下设置按照查询类型调节用户权限:
readonly
限制读取数据、写入数据和修改设置查询的权限。
当设置为1时,允许:
- 所有类型的读取查询(如SELECT和等效查询)。
- 仅修改会话上下文的查询(如USE)。
当设置为2时,允许上述内容外加:
-
SET和CREATE TEMPORARY TABLE
提示如EXISTS、DESCRIBE、EXPLAIN、SHOW PROCESSLIST等查询等同于SELECT,因为它们只从系统表中选择。
可选值:
- 0 — 允许读取、写入和修改设置的查询。
- 1 — 仅允许读取数据查询。
- 2 — 允许读取数据和修改设置的查询。
默认值: 0
allow_ddl
允许或拒绝DDL查询。
可选值:
- 0 — 不允许DDL查询。
- 1 — 允许DDL查询。
默认值: 1
备注
如果当前会话的allow_ddl = 0
,则无法运行SET allow_ddl = 1
。
KILL QUERY
KILL QUERY
可以与任何组合的readonly和allow_ddl设置一起执行。