- 读取数据查询:
SELECT,SHOW,DESCRIBE,EXISTS。 - 写入数据查询:
INSERT,OPTIMIZE。 - 修改设置查询:
SET,USE。 - DDL 查询:
CREATE,ALTER,RENAME,ATTACH,DETACH,DROPTRUNCATE。 KILL QUERY。
readonly
- 所有类型的读取查询 (如 SELECT 及其等效查询) 。
- 仅修改会话上下文的查询 (如 USE) 。
- SET 和 CREATE TEMPORARY TABLE
- 0 — 允许读取、写入和修改设置查询。
- 1 — 仅允许读取数据查询。
- 2 — 允许读取数据和修改设置查询。
设置
readonly = 1 后,用户无法在当前会话中更改 readonly 和 allow_ddl 设置。在 HTTP interface 中使用 GET method 时,会自动将 readonly 设为 1。若要修改数据,请使用 POST method。设置 readonly = 1 会禁止用户更改设置。你也可以仅禁止用户更改特定设置,或者在 readonly = 1 的限制下只允许更改特定设置。详情请参见设置约束。allow_ddl
- 0 — 不允许执行 DDL 查询。
- 1 — 允许执行 DDL 查询。
如果当前会话的
allow_ddl = 0,则无法运行 SET allow_ddl = 1。KILL QUERY无论 readonly 和 allow_ddl 的设置如何组合,都可以执行
KILL QUERY。