Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

sysvar: add 12 sysvars to docs-cn (#11495) #11605

Merged
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions functions-and-operators/aggregate-group-by-functions.md
Original file line number Diff line number Diff line change
Expand Up @@ -182,6 +182,10 @@ from tbl_name
group by id, val;
```

## 相关系统变量

`group_concat_max_len` 变量设置 `GROUP_CONCAT()` 函数中的最大项目数。

## TiDB 不支持的聚合函数

TiDB 目前不支持的聚合函数如下所示,相关进展参阅 [TiDB #7623](https://github.com/pingcap/tidb/issues/7623)。
Expand Down
4 changes: 4 additions & 0 deletions functions-and-operators/date-and-time-functions.md
Original file line number Diff line number Diff line change
Expand Up @@ -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()` 函数。
Original file line number Diff line number Diff line change
Expand Up @@ -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 中移除。
Expand Down
147 changes: 147 additions & 0 deletions system-variables.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand All @@ -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` <span class="version-mark">从 v6.1.0 版本开始引入</span>

- 作用域: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 时会自动继承原有设置。

TomShawn marked this conversation as resolved.
Show resolved Hide resolved
### `skip_name_resolve` <span class="version-mark">从 v5.2.0 版本开始引入</span>

- 作用域: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))
TomShawn marked this conversation as resolved.
Show resolved Hide resolved
### `socket`

- 作用域:NONE
- 默认值:""
- 使用 MySQL 协议时,tidb-server 所监听的本地 unix 套接字文件。

### `sql_log_bin`

- 作用域:SESSION | GLOBAL
- 是否持久化到集群:是
- 类型:布尔型
- 默认值:`ON`
- 表示是否将更改写入 TiDB Binlog。

> **注意:**
>
> 不建议将 `sql_log_bin` 设置为全局变量,因为 TiDB 的未来版本可能只允许将其设置为会话变量。

### `sql_mode`

- 作用域:SESSION | GLOBAL
Expand All @@ -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
Expand Down Expand Up @@ -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))
TomShawn marked this conversation as resolved.
Show resolved Hide resolved
### `transaction_isolation`

- 作用域:SESSION | GLOBAL
Expand Down