diff --git a/functions-and-operators/aggregate-group-by-functions.md b/functions-and-operators/aggregate-group-by-functions.md index 4c5cc2547727..1ee3108abd13 100644 --- a/functions-and-operators/aggregate-group-by-functions.md +++ b/functions-and-operators/aggregate-group-by-functions.md @@ -187,3 +187,7 @@ group by id, val; TiDB 目前不支持的聚合函数如下所示,相关进展参阅 [TiDB #7623](https://github.com/pingcap/tidb/issues/7623)。 - `JSON_ARRAYAGG` + +## 相关系统变量 + +`group_concat_max_len` 变量设置 `GROUP_CONCAT()` 函数中的最大项目数。 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..a18914186405 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,42 @@ mysql> SELECT * FROM t1; - 范围:`[0, 65535]` - 使用 MySQL 协议时 tidb-server 监听的端口。 +### `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 地址或通配符(`%`)。 + ### `socket` - 作用域:NONE - 默认值:"" - 使用 MySQL 协议时,tidb-server 所监听的本地 unix 套接字文件。 +### `sql_log_bin` + +- 作用域:SESSION | GLOBAL +- 是否持久化到集群:是 +- 类型:布尔型 +- 默认值:`ON` +- 表示是否将更改写入 TiDB Binlog。 + +> **注意:** +> +> 不建议将 `sql_log_bin` 设置为全局变量,因为 TiDB 的未来版本可能只允许将其设置为会话变量。 + ### `sql_mode` - 作用域:SESSION | GLOBAL @@ -248,6 +338,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 +1671,14 @@ set tidb_slow_log_threshold = 200; - 数据库所使用的时区。这个变量值可以写成时区偏移的形式,如 '-8:00',也可以写成一个命名时区,如 'America/Los_Angeles'。 - 默认值 `SYSTEM` 表示时区应当与系统主机的时区相同。系统的时区可通过 [`system_time_zone`](#system_time_zone) 获取。 +### `timestamp` + +- 作用域:SESSION +- 类型:浮点数 +- 默认值:`0` +- 取值范围:`[0, 2147483647]` +- 一个 Unix 时间戳。变量值非空时,表示 `CURRENT_TIMESTAMP()`、`NOW()` 等函数的时间戳。该变量通常用于数据恢复或数据复制。 + ### `transaction_isolation` - 作用域:SESSION | GLOBAL