diff --git a/dashboard/dashboard-profiling.md b/dashboard/dashboard-profiling.md index f442b8745460..11b2b5e7fe80 100644 --- a/dashboard/dashboard-profiling.md +++ b/dashboard/dashboard-profiling.md @@ -25,7 +25,7 @@ summary: 了解如何收集集群各个实例当前性能数据,从而分析 - Heap:TiDB、PD、TiKV 实例上各个内部函数的内存占用开销情况 - > 从 v7.5 版本开始,支持获取 TiKV Heap Profile,并且需要 TiDB Dashboad 的运行环境中有 Perl 依赖,否则会报错。 + > 从 v7.5 版本开始,支持获取 TiKV Heap Profile,并且需要 TiDB Dashboard 的运行环境中有 Perl 依赖,否则会报错。 - Mutex:TiDB、PD 实例上各个处于等待状态的 Mutex 情况 diff --git a/dm/dm-open-api.md b/dm/dm-open-api.md index 4d4eedab0cae..24a3246dbcbc 100644 --- a/dm/dm-open-api.md +++ b/dm/dm-open-api.md @@ -1346,7 +1346,7 @@ curl -X 'GET' \ "name": "string", "source_name": "string", "worker_name": "string", - "stage": "runing", + "stage": "running", "unit": "sync", "unresolved_ddl_lock_id": "string", "load_status": { diff --git a/encryption-at-rest.md b/encryption-at-rest.md index ed15548772f4..dc8db8f19923 100644 --- a/encryption-at-rest.md +++ b/encryption-at-rest.md @@ -176,7 +176,7 @@ TiFlash 当前支持的加密算法与 TiKV 一致,包括 AES128-CTR、AES192- 多个 TiFlash 实例可共用一个主密钥,并且也可以和 TiKV 共用一个主密钥。在生产环境中,推荐通过 AWS KMS 提供主密钥。另外,你也可以通过文件形式提供主密钥。具体的主密钥生成方式和格式均与 TiKV 相同。 -TiFlash 使用数据密钥加密所有落盘的数据文件,包括数据文件、Schmea 文件和计算过程中产生的临时数据文件等。默认情况下,TiFlash 每周自动轮换数据密钥,该轮换周期也可根据需要自定义配置。密钥轮换时,TiFlash 不会重写全部现有文件来替换密钥,但如果集群的写入量恒定,则后台 compaction 任务将会用最新的数据密钥对数据重新加密。TiFlash 跟踪密钥和加密方法,并使用密钥信息对读取的内容进行解密。 +TiFlash 使用数据密钥加密所有落盘的数据文件,包括数据文件、Schema 文件和计算过程中产生的临时数据文件等。默认情况下,TiFlash 每周自动轮换数据密钥,该轮换周期也可根据需要自定义配置。密钥轮换时,TiFlash 不会重写全部现有文件来替换密钥,但如果集群的写入量恒定,则后台 compaction 任务将会用最新的数据密钥对数据重新加密。TiFlash 跟踪密钥和加密方法,并使用密钥信息对读取的内容进行解密。 ### 创建密钥 diff --git a/faq/migration-tidb-faq.md b/faq/migration-tidb-faq.md index 520716434beb..8e47a600caee 100644 --- a/faq/migration-tidb-faq.md +++ b/faq/migration-tidb-faq.md @@ -92,7 +92,7 @@ DB2、Oracle 到 TiDB 数据迁移(增量+全量),通常做法有: 目前看来 OGG 最为合适。 -### 用 Sqoop 批量写入 TiDB 数据,虽然配置了 `--batch` 选项,但还是会遇到 `java.sql.BatchUpdateExecption:statement count 5001 exceeds the transaction limitation` 的错误,该如何解决? +### 用 Sqoop 批量写入 TiDB 数据,虽然配置了 `--batch` 选项,但还是会遇到 `java.sql.BatchUpdateException:statement count 5001 exceeds the transaction limitation` 的错误,该如何解决? - 在 Sqoop 中,`--batch` 是指每个批次提交 100 条 statement,但是默认每个 statement 包含 100 条 SQL 语句,所以此时 100 * 100 = 10000 条 SQL 语句,超出了 TiDB 的事务限制 5000 条,可以增加选项 `-Dsqoop.export.records.per.statement=10` 来解决这个问题,完整的用法如下: diff --git a/faq/sql-faq.md b/faq/sql-faq.md index 61ba039887ad..46669504d2bd 100644 --- a/faq/sql-faq.md +++ b/faq/sql-faq.md @@ -151,7 +151,7 @@ TiDB 支持在会话或全局作用域上修改 [`sql_mode`](/system-variables.m - 对全局作用域变量的修改,设置后将作用于集群中的其它服务器,并且重启后更改依然有效。因此,你无需在每台 TiDB 服务器上都更改 `sql_mode` 的值。 - 对会话作用域变量的修改,设置后只影响当前会话,重启后更改消失。 -## 用 Sqoop 批量写入 TiDB 数据,虽然配置了 `--batch` 选项,但还是会遇到 `java.sql.BatchUpdateExecption:statement count 5001 exceeds the transaction limitation` 的错误,该如何解决? +## 用 Sqoop 批量写入 TiDB 数据,虽然配置了 `--batch` 选项,但还是会遇到 `java.sql.BatchUpdateException:statement count 5001 exceeds the transaction limitation` 的错误,该如何解决? 问题原因:在 Sqoop 中,`--batch` 是指每个批次提交 100 条 statement,但是默认每个 statement 包含 100 条 SQL 语句,所以此时 100 * 100 = 10000 条 SQL 语句,超出了 TiDB 的事务限制 5000 条。 diff --git a/grafana-pd-dashboard.md b/grafana-pd-dashboard.md index a8357226fcec..6f534726679f 100644 --- a/grafana-pd-dashboard.md +++ b/grafana-pd-dashboard.md @@ -102,7 +102,7 @@ summary: PD 重要监控指标详解:使用 TiUP 部署 TiDB 集群时,一 - Replica checker:replica checker 的状态 - Rule checker:rule checker 的状态 - Region merge checker:merge checker 的状态 -- Filter target:尝试选择 Store 作为调度 taget 时没有通过 Filter 的计数 +- Filter target:尝试选择 Store 作为调度 target 时没有通过 Filter 的计数 - Filter source:尝试选择 Store 作为调度 source 时没有通过 Filter 的计数 - Balance Direction:Store 被选作调度 target 或 source 的次数 diff --git a/oracle-functions-to-tidb.md b/oracle-functions-to-tidb.md index eb92865e3e1b..9e73992359ce 100644 --- a/oracle-functions-to-tidb.md +++ b/oracle-functions-to-tidb.md @@ -65,13 +65,13 @@ TiDB 中区分 `NULL` 和空字符串 `''`。 Oracle 支持 `INSERT` 语句中读写同一张表。例如: ```sql -INSERT INTO table1 VALUES (feild1,(SELECT feild2 FROM table1 WHERE...)) +INSERT INTO table1 VALUES (field1,(SELECT field2 FROM table1 WHERE...)) ``` TiDB 不支持 `INSERT` 语句中读写同一张表。例如: ```sql -INSERT INTO table1 VALUES (feild1,(SELECT T.fields2 FROM table1 T WHERE...)) +INSERT INTO table1 VALUES (field1,(SELECT T.fields2 FROM table1 T WHERE...)) ``` ### 获取前 n 行数据 diff --git a/partitioned-table.md b/partitioned-table.md index e380320de481..8398d1276eaf 100644 --- a/partitioned-table.md +++ b/partitioned-table.md @@ -596,7 +596,7 @@ TiDB 从 v7.0.0 开始支持 Key 分区。在 v7.0.0 之前的版本中,创建 Key 分区与 Hash 分区都可以保证将数据均匀地分散到一定数量的分区里面,区别是 Hash 分区只能根据一个指定的整数表达式或字段进行分区,而 Key 分区可以根据字段列表进行分区,且 Key 分区的分区字段不局限于整数类型。TiDB Key 分区表的 Hash 算法与 MySQL 不一样,因此表的数据分布也不一样。 -创建 Key 分区表时,你需要在 `CREATE TABLE` 后面添加 `PARTITION BY KEY (columList)`,其中 `columnList` 是字段列表,可以包含一个或多个字段。每个字段的类型可以是除 `BLOB`、`JSON`、`GEOMETRY` 之外的任意类型(请注意 TiDB 不支持 `GEOMETRY` 类型)。此外,你很可能还需要加上 `PARTITIONS num`,其中 `num` 是一个正整数,表示将表划分多少个分区;或者加上分区名的定义,例如,加上 `(PARTITION p0, PARTITION p1)` 代表将表划分为两个分区,分区名为 `p0` 和 `p1`。 +创建 Key 分区表时,你需要在 `CREATE TABLE` 后面添加 `PARTITION BY KEY (columnList)`,其中 `columnList` 是字段列表,可以包含一个或多个字段。每个字段的类型可以是除 `BLOB`、`JSON`、`GEOMETRY` 之外的任意类型(请注意 TiDB 不支持 `GEOMETRY` 类型)。此外,你很可能还需要加上 `PARTITIONS num`,其中 `num` 是一个正整数,表示将表划分多少个分区;或者加上分区名的定义,例如,加上 `(PARTITION p0, PARTITION p1)` 代表将表划分为两个分区,分区名为 `p0` 和 `p1`。 下面的语句将创建一个 Key 分区表,按 `store_id` 分成 4 个分区: diff --git a/quick-start-with-htap.md b/quick-start-with-htap.md index a1c0c6cb4e67..55091afbf651 100644 --- a/quick-start-with-htap.md +++ b/quick-start-with-htap.md @@ -22,7 +22,7 @@ summary: 本文介绍如何快速上手体验 TiDB 的 HTAP 功能。 ## 体验步骤 -本文的步骤以 [TPC-H](http://www.tpc.org/tpch/) 数据集为例,通过其中一个查询场景来体验 TiDB HTAP 的便捷性和高性能。TPC-H 是业界较为流行的决策支持(Desision Support)业务 Benchmark。它包含大数据量下,一个业务决策分析系统所需要响应的不同类型高复杂度的即席查询。如果需要体验 TPC-H 完整的 22 条 SQL,可以访问 [tidb-bench 仓库](https://github.com/pingcap/tidb-bench/tree/master/tpch/queries) 或者阅读 TPC-H 官网说明了解如何生成查询语句以及数据。 +本文的步骤以 [TPC-H](http://www.tpc.org/tpch/) 数据集为例,通过其中一个查询场景来体验 TiDB HTAP 的便捷性和高性能。TPC-H 是业界较为流行的决策支持(Decision Support)业务 Benchmark。它包含大数据量下,一个业务决策分析系统所需要响应的不同类型高复杂度的即席查询。如果需要体验 TPC-H 完整的 22 条 SQL,可以访问 [tidb-bench 仓库](https://github.com/pingcap/tidb-bench/tree/master/tpch/queries) 或者阅读 TPC-H 官网说明了解如何生成查询语句以及数据。 ### 第 1 步:部署试用环境 diff --git a/releases/release-1.0-ga.md b/releases/release-1.0-ga.md index d30da21d8381..1b17213d0a0b 100644 --- a/releases/release-1.0-ga.md +++ b/releases/release-1.0-ga.md @@ -17,7 +17,7 @@ title: TiDB 1.0 release notes + 提升 MySQL 兼容性 + 支持 `NO_SQL_CACHE` 语法,控制存储引擎对缓存的使用 + 重构 Hash Aggregator 算子,降低内存使用 -+ 支持 Stream Aggragator 算子 ++ 支持 Stream Aggregator 算子 ## PD diff --git a/releases/release-3.0.8.md b/releases/release-3.0.8.md index 693694711ae6..6cd8af761586 100644 --- a/releases/release-3.0.8.md +++ b/releases/release-3.0.8.md @@ -78,7 +78,7 @@ TiDB Ansible 版本:3.0.8 - 修改 Coprocessor 遇到错误时输出日志的级别从 `error` 改成 `warn` [#6051](https://github.com/tikv/tikv/pull/6051) - 修改统计信息采样数据的更新行为从直接更行改成先删除再插入,更新行为与 tidb-server 保持一致 [#6069](https://github.com/tikv/tikv/pull/6096) + Raftstore - - 修复因重复向 `peerfsm` 发送 destory 消息,`peerfsm` 被多次销毁导致 panic 的问题 [#6297](https://github.com/tikv/tikv/pull/6297) + - 修复因重复向 `peerfsm` 发送 destroy 消息,`peerfsm` 被多次销毁导致 panic 的问题 [#6297](https://github.com/tikv/tikv/pull/6297) - `split-region-on-table` 默认值由 `true` 改成 `false`,默认关闭按 table 切分 Region 的功能 [#6253](https://github.com/tikv/tikv/pull/6253) + Engine - 修复极端条件下因 RocksDB 迭代器错误未正确处理导致可能返回空数据的问题 [#6326](https://github.com/tikv/tikv/pull/6326) diff --git a/releases/release-4.0.0-rc.2.md b/releases/release-4.0.0-rc.2.md index 25ab8ec04af8..e36d96d0a267 100644 --- a/releases/release-4.0.0-rc.2.md +++ b/releases/release-4.0.0-rc.2.md @@ -71,7 +71,7 @@ TiDB 版本:4.0.0-rc.2 + TiKV - 加密存储适配 tikv-ctl,适配后开启加密存储后通过 tikv-ctl 操作管理集群 [#7698](https://github.com/tikv/tikv/pull/7698) - - 新增加密码 Snapshot 中的 `lock column famliy` 的功能 [#7712](https://github.com/tikv/tikv/pull/7712) + - 新增加密码 Snapshot 中的 `lock column family` 的功能 [#7712](https://github.com/tikv/tikv/pull/7712) - 修改 Raftstore latency 在 Grafana 面板显示方式,采用 heatmap 方便诊断性能抖动问题 [#7717](https://github.com/tikv/tikv/pull/7717) - 支持配置 gRPC 消息大小的上限 [#7824](https://github.com/tikv/tikv/pull/7824) - Grafana 面板中添加了 encryption 相关的监控 [#7827](https://github.com/tikv/tikv/pull/7827) diff --git a/releases/release-5.1.2.md b/releases/release-5.1.2.md index 3b419ce2d1fc..a1d834eaf4f2 100644 --- a/releases/release-5.1.2.md +++ b/releases/release-5.1.2.md @@ -74,7 +74,7 @@ TiDB 版本:5.1.2 - 修复 hash 列为 `ENUM` 类型时 index hash join 的结果可能出错的问题 [#27893](https://github.com/pingcap/tidb/issues/27893) - 修复极少数情况下 batch client 复用空闲连接可能阻塞请求发送的问题 [#27678](https://github.com/pingcap/tidb/pull/27678) - 修复了 `FLOAT64` 类型的溢出检查与 MySQL 不一致的问题 [#23897](https://github.com/pingcap/tidb/issues/23897) - - 修复 TiDB 把 `pd is timeout` 错误返回成 `unkonwn` 的问题 [#26147](https://github.com/pingcap/tidb/issues/26147) + - 修复 TiDB 把 `pd is timeout` 错误返回成 `unknown` 的问题 [#26147](https://github.com/pingcap/tidb/issues/26147) - 修复了 `case when` 表达式的字符集和排序规则错误的问题 [#26662](https://github.com/pingcap/tidb/issues/26662) - 修复 MPP 查询可能返回 `can not found column in Schema column` 错误的问题 [#28148](https://github.com/pingcap/tidb/pull/28148) - 修复 TiFlash 宕机可能导致 TiDB Panic 的问题 [#28096](https://github.com/pingcap/tidb/issues/28096) diff --git a/releases/release-5.2.4.md b/releases/release-5.2.4.md index 5c688d156dc8..0ce36284a9d6 100644 --- a/releases/release-5.2.4.md +++ b/releases/release-5.2.4.md @@ -88,7 +88,7 @@ TiDB 版本:5.2.4 - 修复系统变量 `max_allowed_packet` 不生效的问题 [#31422](https://github.com/pingcap/tidb/issues/31422) - 修复当 auto ID 超出范围时,`REPLACE` 语句错误地修改了其它行的问题 [#29483](https://github.com/pingcap/tidb/issues/29483) - 修复慢查询日志无法正常输出而且可能消耗大量内存的问题 [#32656](https://github.com/pingcap/tidb/issues/32656) - - 修复 NATRUAL JOIN 可能输出多余列的问题 [#29481](https://github.com/pingcap/tidb/issues/29481) + - 修复 NATURAL JOIN 可能输出多余列的问题 [#29481](https://github.com/pingcap/tidb/issues/29481) - 修复使用前缀列索引时,ORDER + LIMIT 语句可能导致结果出错的问题 [#29711](https://github.com/pingcap/tidb/issues/29711) - 修复乐观事务重试时,DOUBLE 类型的自增列可能在重试时值发生改变的问题 [#29892](https://github.com/pingcap/tidb/issues/29892) - 修复 STR_TO_DATE 函数无法正确处理微秒部分的前导 0 的问题 [#30078](https://github.com/pingcap/tidb/issues/30078) diff --git a/releases/release-6.0.0-dmr.md b/releases/release-6.0.0-dmr.md index 8d0bd0010ae3..66a9057ed80d 100644 --- a/releases/release-6.0.0-dmr.md +++ b/releases/release-6.0.0-dmr.md @@ -71,7 +71,7 @@ v6.0.0 是 DMR 版本,版本名称为 6.0.0-DMR。 Top SQL 是一个面向运维人员及应用开发者的一体化、自助的数据库性能观测和诊断功能,集成于 TiDB Dashboard 图形化界面,在 TiDB v6.0.0 正式发布。 - 与现有 TiDB Dashboard 中各个面向数据库专家的诊断功能不同的是,Top SQL 完全面向非专家:你不需要观察几千张监控图表寻找相关性,也不需要理解诸如 Raft Snapsnot、RocksDB、MVCC、TSO 等 TiDB 内部机制,仅需要知道常见的数据库概念,如索引、锁冲突、执行计划等,就可以通过 Top SQL 快速分析数据库负载情况,并提升应用程序的性能。 + 与现有 TiDB Dashboard 中各个面向数据库专家的诊断功能不同的是,Top SQL 完全面向非专家:你不需要观察几千张监控图表寻找相关性,也不需要理解诸如 Raft Snapshot、RocksDB、MVCC、TSO 等 TiDB 内部机制,仅需要知道常见的数据库概念,如索引、锁冲突、执行计划等,就可以通过 Top SQL 快速分析数据库负载情况,并提升应用程序的性能。 Top SQL 功能功能默认关闭。启用后,通过 Top SQL 提供的各个 TiDB 或 TiKV 节点实时 CPU 负载情况,你可以直观了解各节点的高 CPU 负载来自哪些 SQL 语句,从而快速分析诸如数据库热点和负载陡升等问题。例如,你可以通过 Top SQL 分析某个 TiKV 节点上正在消耗 90% CPU 负载的 SQL 查询语句的具体内容及执行情况。 diff --git a/releases/release-6.1.1.md b/releases/release-6.1.1.md index bd1def283630..46b8c1edca78 100644 --- a/releases/release-6.1.1.md +++ b/releases/release-6.1.1.md @@ -87,7 +87,7 @@ TiDB 版本:6.1.1 - 修复了在查询分区表中如果查询条件中有分区键且两者使用了不同的 COLLATE 时会错误的进行分区裁剪的问题 [#32749](https://github.com/pingcap/tidb/issues/32749) @[mjonss](https://github.com/mjonss) - 修复了在开启 TiDB Binlog 时,TiDB 执行 `ALTER SEQUENCE` 会产生错误的元信息版本号,进而导致 Drainer 报错退出的问题 [#36276](https://github.com/pingcap/tidb/issues/36276) @[AilinKid](https://github.com/AilinKid) - 修复了在极端情况下,启动 TiDB 可能进入错误状态的问题 [#36791](https://github.com/pingcap/tidb/issues/36791) @[xhebox](https://github.com/xhebox) - - 修复了在 TiDB Dashboard 中查询分区表的执行计划时,有可能出现 `UnkownPlanID` 的问题 [#35153](https://github.com/pingcap/tidb/issues/35153) @[time-and-fate](https://github.com/time-and-fate) + - 修复了在 TiDB Dashboard 中查询分区表的执行计划时,有可能出现 `UnknownPlanID` 的问题 [#35153](https://github.com/pingcap/tidb/issues/35153) @[time-and-fate](https://github.com/time-and-fate) - 修复了 `LOAD DATA` 语句中列的列表不生效的问题 [#35198](https://github.com/pingcap/tidb/issues/35198) @[SpadeA-Tang](https://github.com/SpadeA-Tang) - 修复开启 TiDB Binlog 后插入重复数据导致 data and columnID count not match 错误的问题 [#33608](https://github.com/pingcap/tidb/issues/33608) @[zyguan](https://github.com/zyguan) - 去除 `tidb_gc_life_time` 设置时间检查限制 [#35392](https://github.com/pingcap/tidb/issues/35392) @[TonsnakeLin](https://github.com/TonsnakeLin) diff --git a/releases/release-6.3.0.md b/releases/release-6.3.0.md index 423efc2f70d5..2c29a2914f5c 100644 --- a/releases/release-6.3.0.md +++ b/releases/release-6.3.0.md @@ -331,9 +331,9 @@ TiDB 版本:6.3.0-DMR + TiDB - - 修复权限检查跳过 `PREAPRE` 语句的问题 [#35784](https://github.com/pingcap/tidb/issues/35784) @[lcwangchao](https://github.com/lcwangchao) + - 修复权限检查跳过 `PREPARE` 语句的问题 [#35784](https://github.com/pingcap/tidb/issues/35784) @[lcwangchao](https://github.com/lcwangchao) - 修复系统变量 `tidb_enable_noop_variable` 能够设置为 `WARN` 的问题 [#36647](https://github.com/pingcap/tidb/issues/36647) @[lcwangchao](https://github.com/lcwangchao) - - 修复存在表达式索引定义时,`INFORMAITON_SCHEMA.COLUMNS` 表的 `ORDINAL_POSITION` 列可能不正确的问题 [#31200](https://github.com/pingcap/tidb/issues/31200) @[bb7133](https://github.com/bb7133) + - 修复存在表达式索引定义时,`INFORMATION_SCHEMA.COLUMNS` 表的 `ORDINAL_POSITION` 列可能不正确的问题 [#31200](https://github.com/pingcap/tidb/issues/31200) @[bb7133](https://github.com/bb7133) - 修复时间戳大于 `MAXINT32` 时 TiDB 不报错的问题 [#31585](https://github.com/pingcap/tidb/issues/31585) @[bb7133](https://github.com/bb7133) - 修复使用企业版插件时无法启动 TiDB server 的问题 [#37319](https://github.com/pingcap/tidb/issues/37319) @[xhebox](https://github.com/xhebox) - 修复 `SHOW CREATE PLACEMENT POLICY` 输出结果不正确的问题 [#37526](https://github.com/pingcap/tidb/issues/37526) @[xhebox](https://github.com/xhebox) diff --git a/releases/release-6.5.4.md b/releases/release-6.5.4.md index e30539bab0c3..1a878f69eec1 100644 --- a/releases/release-6.5.4.md +++ b/releases/release-6.5.4.md @@ -112,7 +112,7 @@ TiDB 版本:6.5.4 - 修复 kill 连接之后可能会出现 go coroutine 泄露的问题 [#46034](https://github.com/pingcap/tidb/issues/46034) @[pingyu](https://github.com/pingyu) - 修复 `tmp-storage-quota` 配置无法生效的问题 [#45161](https://github.com/pingcap/tidb/issues/45161) [#26806](https://github.com/pingcap/tidb/issues/26806) @[wshwsh12](https://github.com/wshwsh12) - 修复集群中有 TiFlash 节点宕机时,TiFlash 副本可能不可用的问题 [#38484](https://github.com/pingcap/tidb/issues/38484) @[hehechen](https://github.com/hehechen) - - 修复并发读写 `Config.Lables` 时可能出现数据竞争导致 TiDB crash 的问题 [#45561](https://github.com/pingcap/tidb/issues/45561) @[genliqi](https://github.com/gengliqi) + - 修复并发读写 `Config.Labels` 时可能出现数据竞争导致 TiDB crash 的问题 [#45561](https://github.com/pingcap/tidb/issues/45561) @[genliqi](https://github.com/gengliqi) - 修复在集群规模大时 client-go 周期性更新 `min-resolved-ts` 可能造成 PD OOM 的问题 [#46664](https://github.com/pingcap/tidb/issues/46664) @[HuSharp](https://github.com/HuSharp) + TiKV @@ -132,7 +132,7 @@ TiDB 版本:6.5.4 - 修复当 etcd 已经启动,但 client 尚未连接上 etcd 时,调用 client 会导致 PD panic 的问题 [#6860](https://github.com/tikv/pd/issues/6860) @[HuSharp](https://github.com/HuSharp) - 修复 leader 长时间无法退出的问题 [#6918](https://github.com/tikv/pd/issues/6918) @[bufferflies](https://github.com/bufferflies) - - 修复 Placement Rule 在使用 `LOCATION_LABLES` 时,SQL 和 Rule Checker 不兼容的问题 [#38605](https://github.com/pingcap/tidb/issues/38605) @[nolouch](https://github.com/nolouch) + - 修复 Placement Rule 在使用 `LOCATION_LABELS` 时,SQL 和 Rule Checker 不兼容的问题 [#38605](https://github.com/pingcap/tidb/issues/38605) @[nolouch](https://github.com/nolouch) - 修复 PD 可能会非预期地向 Region 添加多个 Learner 的问题 [#5786](https://github.com/tikv/pd/issues/5786) @[HunDunDM](https://github.com/HunDunDM) - 修复在 rule checker 选定 peer 时,unhealthy peer 无法被移除的问题 [#6559](https://github.com/tikv/pd/issues/6559) @[nolouch](https://github.com/nolouch) - 修复 `unsafe recovery` 中失败的 learner peer 在 `auto-detect` 模式中被忽略的问题 [#6690](https://github.com/tikv/pd/issues/6690) @[v01dstar](https://github.com/v01dstar) diff --git a/releases/release-6.6.0.md b/releases/release-6.6.0.md index 0989eaac8266..44293f979227 100644 --- a/releases/release-6.6.0.md +++ b/releases/release-6.6.0.md @@ -382,7 +382,7 @@ TiDB 版本:6.6.0-[DMR](/releases/versioning.md#开发里程碑版本) | TiDB | [`enable-telemetry`](/tidb-configuration-file.md#enable-telemetry-从-v402-版本开始引入) | 修改 | 自 v6.6.0 起,该配置项默认值由 `true` 改为 `false`,表示默认关闭 TiDB 的遥测功能。 | | TiKV | [`rocksdb.defaultcf.block-size`](/tikv-configuration-file.md#block-size) 和 [`rocksdb.writecf.block-size`](/tikv-configuration-file.md#block-size) | 修改 | 默认值由 `64K` 调整为 `32K`。 | | TiKV | [`rocksdb.defaultcf.block-cache-size`](/tikv-configuration-file.md#block-cache-size), [`rocksdb.writecf.block-cache-size`](/tikv-configuration-file.md#block-cache-size), [`rocksdb.lockcf.block-cache-size`](/tikv-configuration-file.md#block-cache-size) | 修改 | 从 v6.6.0 起,这三个配置项被废弃。详情参见 [#12936](https://github.com/tikv/tikv/issues/12936)。 | -| PD | [`enable-telemetry`](/pd-configuration-file.md#enable-telemetry) | 修改 | 从 v6.6.0 起,该配置项的默认值由 `true` 改为 `false`,表示默认关闭 TiDB Dasboard 的遥测功能。 | +| PD | [`enable-telemetry`](/pd-configuration-file.md#enable-telemetry) | 修改 | 从 v6.6.0 起,该配置项的默认值由 `true` 改为 `false`,表示默认关闭 TiDB Dashboard 的遥测功能。 | | TiFlash | [`profile.default.max_memory_usage_for_all_queries`](/tiflash/tiflash-configuration.md#配置文件-tiflashtoml) | 修改 | 表示所有查询过程中,节点对中间数据的内存限制。自 v6.6.0 起默认值由 `0` 改为 `0.8`,表示节点占总内存的 80%。 | | TiCDC | [`consistent.storage`](/ticdc/ticdc-sink-to-mysql.md#使用前提) | 修改 | redo log 备份文件的地址,除了 NFS,支持的 `scheme` 新增了 GCS 和 Azure。 | | DM | [`import-mode`](/dm/task-configuration-file-full.md) | 修改 | 该配置项的可选值由 `"sql"` 和 `"loader"` 变更为 `"logical"` 和 `"physical"`。默认值为 `"logical"`,即使用 TiDB Lightning 的逻辑导入模式进行导入。 | diff --git a/replicate-data-to-kafka.md b/replicate-data-to-kafka.md index 0ea8d5ece3a6..210be092cdc4 100644 --- a/replicate-data-to-kafka.md +++ b/replicate-data-to-kafka.md @@ -31,7 +31,7 @@ summary: 了解如何使用 TiCDC 从 TiDB 同步数据至 Apache Kafka 和 Apac 2. 部署 Kafka 集群。 - - 实验环境,可以参考 [Apache Kakfa Quickstart](https://kafka.apache.org/quickstart) 启动 Kafka 集群。 + - 实验环境,可以参考 [Apache Kafka Quickstart](https://kafka.apache.org/quickstart) 启动 Kafka 集群。 - 生产环境,可以参考 [Running Kafka in Production](https://docs.confluent.io/platform/current/kafka/deployment.html) 完成 Kafka 集群搭建。 3. (可选)部署 Flink 集群。 diff --git a/role-based-access-control.md b/role-based-access-control.md index c0db260d206d..c69c48477fe3 100644 --- a/role-based-access-control.md +++ b/role-based-access-control.md @@ -182,7 +182,7 @@ SET DEFAULT ROLE TO user [, user ] ``` -比如将 `app_read` 和 `app_wirte` 设置为 `rw_user1@localhost` 的默认启用角色: +比如将 `app_read` 和 `app_write` 设置为 `rw_user1@localhost` 的默认启用角色: {{< copyable "sql" >}} diff --git a/runtime-filter.md b/runtime-filter.md index 3104aaa4cc7a..f311ee47c404 100644 --- a/runtime-filter.md +++ b/runtime-filter.md @@ -67,7 +67,7 @@ Runtime Filter 的执行方式如下: | | filter data | | | | +-----+----v------+ +-------+--------+ - | TableFullScan | | TabelFullScan | + | TableFullScan | | TableFullScan | | store_sales | | date_dim | +-----------------+ +----------------+ ``` diff --git a/security-compatibility-with-mysql.md b/security-compatibility-with-mysql.md index d99c18411d33..baba829439e8 100644 --- a/security-compatibility-with-mysql.md +++ b/security-compatibility-with-mysql.md @@ -132,7 +132,7 @@ TiDB 目前支持的身份验证方式可在以下的表格中查找到。服务 ### `tidb_auth_token` -`tidb_auth_token` 是一种基于 [JSON Web Token (JWT)](https://datatracker.ietf.org/doc/html/rfc7519) 的无密码认证方式。在 v6.4.0 中,`tidb_auth_token` 仅用于 TiDB Cloud 内部的用户认证,从 v6.5.0 起,你也可以将 `tidb_auth_token` 配置为 TiDB 自托管环境中用户的认证方式。不同于 `mysql_native_passsword`、`caching_sha2_password` 等使用密码的认证方式,`tidb_auth_token` 认证方式在创建用户时无需设置并保存自定义密码,在用户登录时只需使用一个签发的 token,从而简化用户的认证过程并提升安全性。 +`tidb_auth_token` 是一种基于 [JSON Web Token (JWT)](https://datatracker.ietf.org/doc/html/rfc7519) 的无密码认证方式。在 v6.4.0 中,`tidb_auth_token` 仅用于 TiDB Cloud 内部的用户认证,从 v6.5.0 起,你也可以将 `tidb_auth_token` 配置为 TiDB 自托管环境中用户的认证方式。不同于 `mysql_native_password`、`caching_sha2_password` 等使用密码的认证方式,`tidb_auth_token` 认证方式在创建用户时无需设置并保存自定义密码,在用户登录时只需使用一个签发的 token,从而简化用户的认证过程并提升安全性。 #### JWT diff --git a/sql-prepared-plan-cache.md b/sql-prepared-plan-cache.md index 667a1dd6b91c..954e15d2e606 100644 --- a/sql-prepared-plan-cache.md +++ b/sql-prepared-plan-cache.md @@ -64,7 +64,7 @@ key 中任何一项变动(如切换数据库、重命名 `Prepare` 语句、 - 已经被缓存的计划不会受到统计信息更新、优化规则和表达式下推黑名单更新的影响,仍然会使用已经保存在缓存中的计划。 - 重启 TiDB 实例时(如不停机滚动升级 TiDB 集群),`Prepare` 信息会丢失,此时执行 `execute stmt ...` 可能会遇到 `Prepared Statement not found` 的错误,此时需要再执行一次 `prepare stmt ...`。 - 考虑到不同 `Execute` 的参数会不同,执行计划缓存为了保证适配性会禁止一些和具体参数值密切相关的激进查询优化手段,导致对特定的一些参数值,查询计划可能不是最优。比如查询的过滤条件为 `where a > ? and a < ?`,第一次 `Execute` 时参数分别为 2 和 1,考虑到这两个参数下次执行时可能会是 1 和 2,优化器不会生成对当前参数最优的 `TableDual` 执行计划。 -- 如果不考虑缓存失效和淘汰,一份执行计划缓存会对应各种不同的参数取值,理论上也会导致某些取值下执行计划非最优。比如查询过滤条件为 `where a < ?`,假如第一次执行 `Execute` 时用的参数值为 1,此时优化器生成最优的 `IndexScan` 执行计划放入缓存,在后续执行 `Exeucte` 时参数变为 10000,此时 `TableScan` 可能才是更优执行计划,但由于执行计划缓存,执行时还是会使用先前生成的 `IndexScan`。因此执行计划缓存更适用于查询较为简单(查询编译耗时占比较高)且执行计划较为固定的业务场景。 +- 如果不考虑缓存失效和淘汰,一份执行计划缓存会对应各种不同的参数取值,理论上也会导致某些取值下执行计划非最优。比如查询过滤条件为 `where a < ?`,假如第一次执行 `Execute` 时用的参数值为 1,此时优化器生成最优的 `IndexScan` 执行计划放入缓存,在后续执行 `Execute` 时参数变为 10000,此时 `TableScan` 可能才是更优执行计划,但由于执行计划缓存,执行时还是会使用先前生成的 `IndexScan`。因此执行计划缓存更适用于查询较为简单(查询编译耗时占比较高)且执行计划较为固定的业务场景。 自 v6.1.0 起,执行计划缓存功能默认打开,可以通过变量 [`tidb_enable_prepared_plan_cache`](/system-variables.md#tidb_enable_prepared_plan_cache-从-v610-版本开始引入) 启用或关闭这项功能。 diff --git a/sql-statements/sql-statement-drop-index.md b/sql-statements/sql-statement-drop-index.md index 9dc06563a586..6823bc20f748 100644 --- a/sql-statements/sql-statement-drop-index.md +++ b/sql-statements/sql-statement-drop-index.md @@ -102,7 +102,7 @@ Query OK, 0 rows affected (0.30 sec) ## 另请参阅 -* [SHOW INDEXS](/sql-statements/sql-statement-show-indexes.md) +* [SHOW INDEXES](/sql-statements/sql-statement-show-indexes.md) * [CREATE INDEX](/sql-statements/sql-statement-create-index.md) * [ADD INDEX](/sql-statements/sql-statement-add-index.md) * [RENAME INDEX](/sql-statements/sql-statement-rename-index.md) diff --git a/system-variables.md b/system-variables.md index 2c427a69c8f6..5f8c85c0f0ce 100644 --- a/system-variables.md +++ b/system-variables.md @@ -4300,7 +4300,7 @@ Query OK, 0 rows affected, 1 warning (0.00 sec) - 分区表在开启[动态裁剪模式](/partitioned-table.md#动态裁剪模式)时,TiDB 会汇总各个分区的统计信息生成 GlobalStats。这个变量用于控制当分区统计信息缺失时生成 GlobalStats 的行为。 - 当开启该变量时,TiDB 生成 GlobalStats 时会跳过缺失的分区统计信息,不影响 GlobalStats 生成。 - - 当关闭该变量时,遇到缺失的分区统计信息,TiDB 会停止生成 GloablStats。 + - 当关闭该变量时,遇到缺失的分区统计信息,TiDB 会停止生成 GlobalStats。 ### `tidb_skip_utf8_check` diff --git a/ticdc/ticdc-faq.md b/ticdc/ticdc-faq.md index 49e6193ced23..1207e14c1f41 100644 --- a/ticdc/ticdc-faq.md +++ b/ticdc/ticdc-faq.md @@ -131,7 +131,7 @@ cdc cli changefeed create --server=http://127.0.0.1:8300 --sink-uri="kafka://127 ## TiCDC 把数据同步到 Kafka 时,能在 TiDB 中控制单条消息大小的上限吗? -对于 Avro 和 Canal-JSON 格式,消息是以行变更为单位发送的,一条 Kafka Message 仅包含一条行变更。一般情况下,消息的大小不会超过 Kafka 单条消息上限,因此,一般不需要限制单条消息大小。如果单条 Kafka 消息大小确实超过 Kakfa 上限,请参考[为什么 TiCDC 到 Kafka 的同步任务延时越来越大](/ticdc/ticdc-faq.md#为什么-ticdc-到-kafka-的同步任务延时越来越大)。 +对于 Avro 和 Canal-JSON 格式,消息是以行变更为单位发送的,一条 Kafka Message 仅包含一条行变更。一般情况下,消息的大小不会超过 Kafka 单条消息上限,因此,一般不需要限制单条消息大小。如果单条 Kafka 消息大小确实超过 Kafka 上限,请参考[为什么 TiCDC 到 Kafka 的同步任务延时越来越大](/ticdc/ticdc-faq.md#为什么-ticdc-到-kafka-的同步任务延时越来越大)。 对于 Open Protocol 格式,一条 Kafka Message 可能包含多条行变更。因此,有可能存在某条 Kafka Message 消息过大。可以通过 `max-message-bytes` 控制每次向 Kafka broker 发送消息的最大数据量(可选,默认值 10 MB),通过 `max-batch-size` 参数指定每条 kafka 消息中变更记录的最大数量(可选,默认值 `16`)。 diff --git a/time-to-live.md b/time-to-live.md index d6f2b6ff1862..1eaabec29e6a 100644 --- a/time-to-live.md +++ b/time-to-live.md @@ -184,7 +184,7 @@ TiDB 会定时采集 TTL 的运行时信息,并在 Grafana 中提供了相关 1 row in set (0.040 sec) ``` - 其中列 `table_id` 为分区表 ID,而 `parent_table_id` 为表的 ID,与 `infomation_schema.tables` 表中的 ID 对应。如果表不是分区表,则 `table_id` 与 `parent_table_id` 总是相等。 + 其中列 `table_id` 为分区表 ID,而 `parent_table_id` 为表的 ID,与 `information_schema.tables` 表中的 ID 对应。如果表不是分区表,则 `table_id` 与 `parent_table_id` 总是相等。 列 `{last, current}_job_{start_time, finish_time, ttl_expire}` 分别描述了过去和当前 TTL 任务的开始时间、结束时间和过期时间。`last_job_summary` 列描述了上一次 TTL 任务的执行情况,包括总行数、成功行数、失败行数。 @@ -210,7 +210,7 @@ TiDB 会定时采集 TTL 的运行时信息,并在 Grafana 中提供了相关 status: finished ``` - 其中列 `table_id` 为分区表 ID,而 `parent_table_id` 为表的 ID,与 `infomation_schema.tables` 表中的 ID 对应。`table_schema`、`table_name`、`partition_name` 分别对应表示数据库、表名、分区名。`create_time`、`finish_time`、`ttl_expire` 分别表示 TTL 任务的创建时间、结束时间和过期时间。`expired_rows` 与 `deleted_rows` 表示过期行数与成功删除的行数。 + 其中列 `table_id` 为分区表 ID,而 `parent_table_id` 为表的 ID,与 `information_schema.tables` 表中的 ID 对应。`table_schema`、`table_name`、`partition_name` 分别对应表示数据库、表名、分区名。`create_time`、`finish_time`、`ttl_expire` 分别表示 TTL 任务的创建时间、结束时间和过期时间。`expired_rows` 与 `deleted_rows` 表示过期行数与成功删除的行数。 ## TiDB 数据迁移工具兼容性 diff --git a/tispark-overview.md b/tispark-overview.md index f4b4f38b9afc..b5f5bd69d819 100644 --- a/tispark-overview.md +++ b/tispark-overview.md @@ -143,9 +143,9 @@ TiSpark 是 Spark 的第三方 jar 包,提供读写 TiKV 的能力。 ``` spark.sql.extensions org.apache.spark.sql.TiExtensions -spark.tispark.pd.addresses ${your_pd_adress} +spark.tispark.pd.addresses ${your_pd_address} spark.sql.catalog.tidb_catalog org.apache.spark.sql.catalyst.catalog.TiCatalog -spark.sql.catalog.tidb_catalog.pd.addresses ${your_pd_adress} +spark.sql.catalog.tidb_catalog.pd.addresses ${your_pd_address} ``` 启动 spark-shell: diff --git a/tiup/tiup-mirror-reference.md b/tiup/tiup-mirror-reference.md index 8a56371192f9..5c8b6fa17cee 100644 --- a/tiup/tiup-mirror-reference.md +++ b/tiup/tiup-mirror-reference.md @@ -153,7 +153,7 @@ TiUP 镜像是 TiUP 的组件仓库,存放了一系列的组件和这些组件 } }, "name": "{owner-name}", # 该属主的名字 - "threshod": {N} # 指示该属主拥有的组件必须含有至少 N 个合法签名 + "threshold": {N} # 指示该属主拥有的组件必须含有至少 N 个合法签名 }, ... "{ownerN}": { # 第 N 个属主的 ID