From 03c87a8af3ed7e82551f60b72684a1cb53e5139f Mon Sep 17 00:00:00 2001 From: TomShawn <41534398+TomShawn@users.noreply.github.com> Date: Thu, 13 Oct 2022 11:49:50 +0800 Subject: [PATCH 1/4] This is an automated cherry-pick of #11495 Signed-off-by: ti-chi-bot --- .../aggregate-group-by-functions.md | 6 + .../date-and-time-functions.md | 4 + .../encryption-and-compression-functions.md | 4 + system-variables.md | 147 ++++++++++++++++++ 4 files changed, 161 insertions(+) diff --git a/functions-and-operators/aggregate-group-by-functions.md b/functions-and-operators/aggregate-group-by-functions.md index 4c5cc2547727..eddd906e4161 100644 --- a/functions-and-operators/aggregate-group-by-functions.md +++ b/functions-and-operators/aggregate-group-by-functions.md @@ -182,8 +182,14 @@ from tbl_name group by id, val; ``` +<<<<<<< HEAD ## TiDB 不支持的聚合函数 TiDB 目前不支持的聚合函数如下所示,相关进展参阅 [TiDB #7623](https://github.com/pingcap/tidb/issues/7623)。 - `JSON_ARRAYAGG` +======= +## 相关系统变量 + +`group_concat_max_len` 变量设置 `GROUP_CONCAT()` 函数中的最大项目数。 +>>>>>>> 0c875e6a0 (sysvar: add 12 sysvars to docs-cn (#11495)) diff --git a/functions-and-operators/date-and-time-functions.md b/functions-and-operators/date-and-time-functions.md index 55fbd139e59e..1d3fd0fcc7a8 100644 --- a/functions-and-operators/date-and-time-functions.md +++ b/functions-and-operators/date-and-time-functions.md @@ -70,3 +70,7 @@ TiDB 支持使用 MySQL 5.7 中提供的所有[日期和时间函数](https://de | [`WEEKOFYEAR()`](https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html#function_weekofyear) | 返回参数在日历中对应的一年中的星期数 | | [`YEAR()`](https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html#function_year) | 返回参数对应的年数| | [`YEARWEEK()`](https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html#function_yearweek) | 返回年数和星期数 | + +## 相关系统变量 + +`default_week_format` 变量影响 `WEEK()` 函数。 diff --git a/functions-and-operators/encryption-and-compression-functions.md b/functions-and-operators/encryption-and-compression-functions.md index 39b27f216ee3..45fbec1af46b 100644 --- a/functions-and-operators/encryption-and-compression-functions.md +++ b/functions-and-operators/encryption-and-compression-functions.md @@ -30,6 +30,10 @@ TiDB 支持使用 MySQL 5.7 中提供的大部分[加密和压缩函数](https:/ | [`ASYMMETRIC_SIGN()`](https://dev.mysql.com/doc/refman/5.7/en/enterprise-encryption-functions.html#function_asymmetric-sign) | 从摘要创建签名 | | [`ASYMMETRIC_VERIFY()`](https://dev.mysql.com/doc/refman/5.7/en/enterprise-encryption-functions.html#function_asymmetric-verify) | 验证签名字符串是否匹配摘要字符串 | +## 相关系统变量 + +`block_encryption_mode` 变量设置 `AES_ENCRYPT()` 和 `AES_DECRYPT()` 所使用的加密模式。 + ## 不支持的函数 * `DES_DECRYPT()`、`DES_ENCRYPT()`、`OLD_PASSWORD()` 和 `ENCRYPT()`:这些函数在 MySQL 5.7 中被废弃,并且已在 MySQL 8.0 中移除。 diff --git a/system-variables.md b/system-variables.md index 5c27af10a5eb..067c4b852b9d 100644 --- a/system-variables.md +++ b/system-variables.md @@ -93,6 +93,13 @@ mysql> SELECT * FROM t1; - 默认值:`ON` - 用于设置在非显式事务时是否自动提交事务。更多信息,请参见[事务概述](/transaction-overview.md#自动提交)。 +### `block_encryption_mode` + +- 作用域:SESSION | GLOBAL +- 是否持久化到集群:是 +- 默认值:`aes-128-ecb` +- 用于设置 `AES_ENCRYPT()` 和 `AES_DECRYPT()` 函数的加密模式。 + ### character_set_client - 作用域:SESSION | GLOBAL @@ -151,12 +158,48 @@ mysql> SELECT * FROM t1; - 可选值:`mysql_native_password`,`caching_sha2_password` - 服务器和客户端建立连接时,这个变量用于设置服务器对外通告的默认身份验证方式。如要了解该变量的其他可选值,参见[可用的身份验证插件](/security-compatibility-with-mysql.md#可用的身份验证插件)。 +### `default_week_format` + +- 作用域:SESSION | GLOBAL +- 是否持久化到集群:是 +- 类型:整数 +- 默认值:`0` +- 取值范围:`[0, 7]` +- 设置 `WEEK()` 函数使用的周格式。 + +### `error_count` + +- 作用域:NONE +- 类型:整数 +- 表示上一条生成消息的 SQL 语句中的错误数。该变量为只读变量。 + ### `foreign_key_checks` - 作用域:SESSION | GLOBAL - 默认值:`OFF` - 为保持兼容,TiDB 对外键检查返回 `OFF`。 +### `group_concat_max_len` + +- 作用域:SESSION | GLOBAL +- 是否持久化到集群:是 +- 类型:整数 +- 默认值:`1024` +- 取值范围:`[4, 18446744073709551615]` +- 表示 `GROUP_CONCAT()` 函数中,项目的最大缓冲区大小。 + +### `have_openssl` + +- 作用域:NONE +- 默认值:`DISABLED` +- 用于 MySQL 兼容性的只读变量。当服务器启用 TLS 时,服务器将其设置为 `YES`。 + +### `have_ssl` + +- 作用域:NONE +- 默认值:`DISABLED` +- 用于 MySQL 兼容性的只读变量。当服务器启用 TLS 时,服务器将其设置为 `YES`。 + ### `hostname` - 作用域:NONE @@ -203,6 +246,23 @@ mysql> SELECT * FROM t1; - 默认值:`Apache License 2.0` - 这个变量表示 TiDB 服务器的安装许可证。 +### `log_bin` + +- 作用域:NONE +- 类型:布尔型 +- 默认值:`OFF` +- 该变量表示是否使用 [TiDB Binlog](/tidb-binlog/tidb-binlog-overview.md)。 + +### `max_connections` + +- 作用域:GLOBAL +- 是否持久化到集群:否 +- 类型:整数 +- 默认值:`0` +- 取值范围:`[0, 100000]` +- 该变量表示 TiDB 实例允许的最大连接数。 +- 该变量值为 `0` 时表示无限制。 + ### `max_execution_time` - 作用域:SESSION | GLOBAL @@ -229,12 +289,70 @@ mysql> SELECT * FROM t1; - 范围:`[0, 65535]` - 使用 MySQL 协议时 tidb-server 监听的端口。 +<<<<<<< HEAD +======= +### `rand_seed1` + +- 作用域:SESSION +- 默认值:`0` +- 范围:`[0, 2147483647]` +- 该变量用于为 SQL 函数 `RAND()` 中使用的随机值生成器添加种子。 +- 该变量的行为与 MySQL 兼容。 + +### `rand_seed2` + +- 作用域:SESSION +- 默认值:`0` +- 范围:`[0, 2147483647]` +- 该变量用于为 SQL 函数 `RAND()` 中使用的随机值生成器添加种子。 +- 该变量的行为与 MySQL 兼容。 + +### `require_secure_transport` 从 v6.1.0 版本开始引入 + +- 作用域:GLOBAL +- 是否持久化到集群:是 +- 默认值:`OFF` +- 该变量控制是否所有 TiDB 的连接都在本地 socket 上进行通信,或使用 TLS。详情见[为 TiDB 客户端服务端间通信开启加密传输](/enable-tls-between-clients-and-servers.md)。 +- 该变量设置为 `ON` 时,必须使用开启 TLS 的会话连接到 TiDB,防止在 TLS 配置不正确时出现锁定的情况。 +- 在 v6.1.0 之前这个开关通过 TiDB 配置文件 (`security.require-secure-transport`) 进行配置,升级到 v6.1.0 时会自动继承原有设置。 + +### `skip_name_resolve` 从 v5.2.0 版本开始引入 + +- 作用域:GLOBAL +- 是否持久化到集群:是 +- 默认值:`OFF` +- 该变量控制 `tidb-server` 实例是否将主机名作为连接握手的一部分来解析。 +- 当 DNS 不可靠时,可以启用该变量来提高网络性能。 + +> **注意:** +> +> 当 `skip_name_resolve` 设置为 `ON` 时,身份信息中包含主机名的用户将无法登录服务器。例如: +> +> ```sql +> CREATE USER 'appuser'@'apphost' IDENTIFIED BY 'app-password'; +> ``` +> +> 该示例中,建议将 `apphost` 替换为 IP 地址或通配符(`%`)。 + +>>>>>>> 0c875e6a0 (sysvar: add 12 sysvars to docs-cn (#11495)) ### `socket` - 作用域:NONE - 默认值:"" - 使用 MySQL 协议时,tidb-server 所监听的本地 unix 套接字文件。 +### `sql_log_bin` + +- 作用域:SESSION | GLOBAL +- 是否持久化到集群:是 +- 类型:布尔型 +- 默认值:`ON` +- 表示是否将更改写入 TiDB Binlog。 + +> **注意:** +> +> 不建议将 `sql_log_bin` 设置为全局变量,因为 TiDB 的未来版本可能只允许将其设置为会话变量。 + ### `sql_mode` - 作用域:SESSION | GLOBAL @@ -248,6 +366,24 @@ mysql> SELECT * FROM t1; - 范围:`[0, 18446744073709551615]` - `SELECT` 语句返回的最大行数。 +### `ssl_ca` + +- 作用域:NONE +- 默认值:"" +- 证书颁发机构 (CA) 文件的位置。若文件不存在,则变量值为空。该变量的值由 TiDB 配置项 [`ssl-ca`](/tidb-configuration-file.md#ssl-ca) 定义。 + +### `ssl_cert` + +- 作用域:NONE +- 默认值:"" +- 用于 SSL/TLS 连接的证书文件的位置。若文件不存在,则变量值为空。该变量的值由 TiDB 配置项 [`ssl-cert`](/tidb-configuration-file.md#ssl-cert) 定义。 + +### `ssl_key` + +- 作用域:NONE +- 默认值:"" +- 用于 SSL/TLS 连接的私钥文件的位置。若文件不存在,则变量值为空。该变量的值由 TiDB 配置项 [`ssl-key`](/tidb-configuration-file.md#ssl-cert) 定义。 + ### `system_time_zone` - 作用域:NONE @@ -1563,6 +1699,17 @@ set tidb_slow_log_threshold = 200; - 数据库所使用的时区。这个变量值可以写成时区偏移的形式,如 '-8:00',也可以写成一个命名时区,如 'America/Los_Angeles'。 - 默认值 `SYSTEM` 表示时区应当与系统主机的时区相同。系统的时区可通过 [`system_time_zone`](#system_time_zone) 获取。 +<<<<<<< HEAD +======= +### `timestamp` + +- 作用域:SESSION +- 类型:浮点数 +- 默认值:`0` +- 取值范围:`[0, 2147483647]` +- 一个 Unix 时间戳。变量值非空时,表示 `CURRENT_TIMESTAMP()`、`NOW()` 等函数的时间戳。该变量通常用于数据恢复或数据复制。 + +>>>>>>> 0c875e6a0 (sysvar: add 12 sysvars to docs-cn (#11495)) ### `transaction_isolation` - 作用域:SESSION | GLOBAL From ac4bf2fa40378492ea5328a1a27fa9834d14a162 Mon Sep 17 00:00:00 2001 From: TomShawn <41534398+TomShawn@users.noreply.github.com> Date: Thu, 13 Oct 2022 12:55:20 +0800 Subject: [PATCH 2/4] Update aggregate-group-by-functions.md --- .../aggregate-group-by-functions.md | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/functions-and-operators/aggregate-group-by-functions.md b/functions-and-operators/aggregate-group-by-functions.md index eddd906e4161..421a0d36729a 100644 --- a/functions-and-operators/aggregate-group-by-functions.md +++ b/functions-and-operators/aggregate-group-by-functions.md @@ -182,14 +182,12 @@ from tbl_name group by id, val; ``` -<<<<<<< HEAD +## 相关系统变量 + +`group_concat_max_len` 变量设置 `GROUP_CONCAT()` 函数中的最大项目数。 + ## TiDB 不支持的聚合函数 TiDB 目前不支持的聚合函数如下所示,相关进展参阅 [TiDB #7623](https://github.com/pingcap/tidb/issues/7623)。 - `JSON_ARRAYAGG` -======= -## 相关系统变量 - -`group_concat_max_len` 变量设置 `GROUP_CONCAT()` 函数中的最大项目数。 ->>>>>>> 0c875e6a0 (sysvar: add 12 sysvars to docs-cn (#11495)) From 5d5683c536902f760babb66da1e026ca42a3c3a7 Mon Sep 17 00:00:00 2001 From: TomShawn <41534398+TomShawn@users.noreply.github.com> Date: Thu, 13 Oct 2022 12:58:03 +0800 Subject: [PATCH 3/4] Apply suggestions from code review --- system-variables.md | 31 ------------------------------- 1 file changed, 31 deletions(-) diff --git a/system-variables.md b/system-variables.md index 067c4b852b9d..a18914186405 100644 --- a/system-variables.md +++ b/system-variables.md @@ -289,33 +289,6 @@ mysql> SELECT * FROM t1; - 范围:`[0, 65535]` - 使用 MySQL 协议时 tidb-server 监听的端口。 -<<<<<<< HEAD -======= -### `rand_seed1` - -- 作用域:SESSION -- 默认值:`0` -- 范围:`[0, 2147483647]` -- 该变量用于为 SQL 函数 `RAND()` 中使用的随机值生成器添加种子。 -- 该变量的行为与 MySQL 兼容。 - -### `rand_seed2` - -- 作用域:SESSION -- 默认值:`0` -- 范围:`[0, 2147483647]` -- 该变量用于为 SQL 函数 `RAND()` 中使用的随机值生成器添加种子。 -- 该变量的行为与 MySQL 兼容。 - -### `require_secure_transport` 从 v6.1.0 版本开始引入 - -- 作用域:GLOBAL -- 是否持久化到集群:是 -- 默认值:`OFF` -- 该变量控制是否所有 TiDB 的连接都在本地 socket 上进行通信,或使用 TLS。详情见[为 TiDB 客户端服务端间通信开启加密传输](/enable-tls-between-clients-and-servers.md)。 -- 该变量设置为 `ON` 时,必须使用开启 TLS 的会话连接到 TiDB,防止在 TLS 配置不正确时出现锁定的情况。 -- 在 v6.1.0 之前这个开关通过 TiDB 配置文件 (`security.require-secure-transport`) 进行配置,升级到 v6.1.0 时会自动继承原有设置。 - ### `skip_name_resolve` 从 v5.2.0 版本开始引入 - 作用域:GLOBAL @@ -334,7 +307,6 @@ mysql> SELECT * FROM t1; > > 该示例中,建议将 `apphost` 替换为 IP 地址或通配符(`%`)。 ->>>>>>> 0c875e6a0 (sysvar: add 12 sysvars to docs-cn (#11495)) ### `socket` - 作用域:NONE @@ -1699,8 +1671,6 @@ set tidb_slow_log_threshold = 200; - 数据库所使用的时区。这个变量值可以写成时区偏移的形式,如 '-8:00',也可以写成一个命名时区,如 'America/Los_Angeles'。 - 默认值 `SYSTEM` 表示时区应当与系统主机的时区相同。系统的时区可通过 [`system_time_zone`](#system_time_zone) 获取。 -<<<<<<< HEAD -======= ### `timestamp` - 作用域:SESSION @@ -1709,7 +1679,6 @@ set tidb_slow_log_threshold = 200; - 取值范围:`[0, 2147483647]` - 一个 Unix 时间戳。变量值非空时,表示 `CURRENT_TIMESTAMP()`、`NOW()` 等函数的时间戳。该变量通常用于数据恢复或数据复制。 ->>>>>>> 0c875e6a0 (sysvar: add 12 sysvars to docs-cn (#11495)) ### `transaction_isolation` - 作用域:SESSION | GLOBAL From 854f4da283d77740792306d7b4a5e598d9cc8a89 Mon Sep 17 00:00:00 2001 From: TomShawn <41534398+TomShawn@users.noreply.github.com> Date: Thu, 13 Oct 2022 13:00:01 +0800 Subject: [PATCH 4/4] Update aggregate-group-by-functions.md --- functions-and-operators/aggregate-group-by-functions.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/functions-and-operators/aggregate-group-by-functions.md b/functions-and-operators/aggregate-group-by-functions.md index 421a0d36729a..1ee3108abd13 100644 --- a/functions-and-operators/aggregate-group-by-functions.md +++ b/functions-and-operators/aggregate-group-by-functions.md @@ -182,12 +182,12 @@ from tbl_name group by id, val; ``` -## 相关系统变量 - -`group_concat_max_len` 变量设置 `GROUP_CONCAT()` 函数中的最大项目数。 - ## TiDB 不支持的聚合函数 TiDB 目前不支持的聚合函数如下所示,相关进展参阅 [TiDB #7623](https://github.com/pingcap/tidb/issues/7623)。 - `JSON_ARRAYAGG` + +## 相关系统变量 + +`group_concat_max_len` 变量设置 `GROUP_CONCAT()` 函数中的最大项目数。