Skip to content

Commit

Permalink
collation: improve some new_collation_enabled relateds doc (pingcap#1…
Browse files Browse the repository at this point in the history
  • Loading branch information
Defined2014 authored Oct 30, 2023
1 parent a35e58f commit a66c7a9
Show file tree
Hide file tree
Showing 5 changed files with 20 additions and 6 deletions.
2 changes: 1 addition & 1 deletion br/backup-and-restore-overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ TiDB 支持将数据备份到 Amazon S3、Google Cloud Storage (GCS)、Azure Blo
| ---- | ---- | ----- |
|GBK charset|| BR 在 v5.4.0 之前不支持恢复 `charset=GBK` 的表。并且,任何版本的 BR 都不支持恢复 `charset=GBK` 的表到 v5.4.0 之前的 TiDB 集群。|
| 聚簇索引 | [#565](https://github.com/pingcap/br/issues/565) | 确保恢复时集群的 `tidb_enable_clustered_index` 全局变量和备份时一致,否则会导致数据不一致的问题,例如 `default not found` 和数据索引不一致。 |
| New collation | [#352](https://github.com/pingcap/br/issues/352) | 确保恢复时集群的 `new_collations_enabled_on_first_bootstrap` 变量值和备份时的一致,否则会导致数据索引不一致和 checksum 通不过。更多信息,请参考 [FAQ - BR 为什么会报 `new_collations_enabled_on_first_bootstrap` 不匹配?](/faq/backup-and-restore-faq.md#恢复时为什么会报-new_collations_enabled_on_first_bootstrap-不匹配)|
| New collation | [#352](https://github.com/pingcap/br/issues/352) | 确保恢复时集群的 `mysql.tidb` 表中 `new_collation_enabled` 变量值和备份时的一致,否则会导致数据索引不一致和 checksum 通不过。更多信息,请参考 [FAQ - BR 为什么会报 `new_collations_enabled_on_first_bootstrap` 不匹配?](/faq/backup-and-restore-faq.md#恢复时为什么会报-new_collation_enabled-不匹配)|
| 全局临时表 | | 确保使用 BR v5.3.0 及以上版本进行备份和恢复,否则会导致全局临时表的表定义错误。 |
| TiDB Lightning 物理导入模式| |上游数据库使用 TiDB Lightning 物理导入模式导入的数据,无法作为数据日志备份下来。推荐在数据导入后执行一次全量备份,细节参考[上游数据库使用 TiDB Lightning 物理导入模式导入数据的恢复](/faq/backup-and-restore-faq.md#上游数据库使用-tidb-lightning-物理导入模式导入数据时为什么无法使用日志备份功能)|

Expand Down
8 changes: 7 additions & 1 deletion character-set-and-collation.md
Original file line number Diff line number Diff line change
Expand Up @@ -488,7 +488,13 @@ Query OK, 1 row affected

### 新框架下的排序规则支持

TiDB 4.0 新增了完整的排序规则支持框架,从语义上支持了排序规则,并新增了配置开关 `new_collations_enabled_on_first_bootstrap`,在集群初次初始化时决定是否启用新排序规则框架。如需启用新排序规则框架,可将 `new_collations_enabled_on_first_bootstrap` 的值设为 `true`,详情参见 [`new_collations_enabled_on_first_bootstrap`](/tidb-configuration-file.md#new_collations_enabled_on_first_bootstrap)。要在该配置开关打开之后初始化集群,可以通过 `mysql`.`tidb` 表中的 `new_collation_enabled` 变量确认是否启用了新排序规则框架:
TiDB 4.0 新增了完整的排序规则支持框架,从语义上支持了排序规则,并新增了配置开关 `new_collations_enabled_on_first_bootstrap`,在集群初次初始化时决定是否启用新排序规则框架。如需启用新排序规则框架,可将 `new_collations_enabled_on_first_bootstrap` 的值设为 `true`,详情参见 [`new_collations_enabled_on_first_bootstrap`](/tidb-configuration-file.md#new_collations_enabled_on_first_bootstrap)。

对于一个已经初始化完成的 TiDB 集群,可以通过 `mysql.tidb` 表中的 `new_collation_enabled` 变量确认是否启用了新排序规则框架。

> **注意:**
>
>`mysql.tidb` 表查询结果和 `new_collations_enabled_on_first_bootstrap` 的值不同时,以 `mysql.tidb` 表的结果为准。

{{< copyable "sql" >}}

Expand Down
4 changes: 2 additions & 2 deletions faq/backup-and-restore-faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -133,9 +133,9 @@ Error: failed to check gc safePoint, checkpoint ts 433177834291200000: GC safepo
TiCDC 可以通过配置项中的 [`filter.rules`](https://github.com/pingcap/tiflow/blob/7c3c2336f98153326912f3cf6ea2fbb7bcc4a20c/cmd/changefeed.toml#L16) 项完成,Drainer 则可以通过 [`syncer.ignore-table`](/tidb-binlog/tidb-binlog-configuration-file.md#ignore-table) 完成。
### 恢复时为什么会报 `new_collations_enabled_on_first_bootstrap` 不匹配?
### 恢复时为什么会报 `new_collation_enabled` 不匹配?
从 TiDB v6.0.0 版本开始,[`new_collations_enabled_on_first_bootstrap`](/tidb-configuration-file.md#new_collations_enabled_on_first_bootstrap) 配置项的默认值由 `false` 改为 `true`。BR 会备份上游集群的 `new_collations_enabled_on_first_bootstrap` 配置项。当上下游集群的此项配置相同时,BR 才会将上游集群的备份数据安全地恢复到下游集群中。若上下游的该配置不相同,BR 会拒绝恢复,并报此配置项不匹配的错误。
从 TiDB v6.0.0 版本开始,[`new_collations_enabled_on_first_bootstrap`](/tidb-configuration-file.md#new_collations_enabled_on_first_bootstrap) 配置项的默认值由 `false` 改为 `true`。BR 会备份上游集群的 `mysql.tidb` 表中的 `new_collation_enabled` 配置项。当上下游集群的此项配置相同时,BR 才会将上游集群的备份数据安全地恢复到下游集群中。若上下游的该配置不相同,BR 会拒绝恢复,并报此配置项不匹配的错误。
如果需要将旧版本的备份数据恢复到 TiDB v6.0.0 或更新版本的 TiDB 集群中,你需要检查上下游集群中的该配置项是否相同:
Expand Down
2 changes: 1 addition & 1 deletion migration-tools.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ TiDB 提供了丰富的数据迁移相关的工具,用于全量迁移、增量
| **上游** | TiDB |
| **下游(输出文件)** | SST,backup.meta 文件,backup.lock 文件 |
| **主要优势** | <ul><li>适用于向另一个 TiDB 迁移数据。</li><li>支持数据冷备份到外部存储,可以用于灾备恢复。</li></ul> |
| **使用限制** | <ul><li>BR 恢复到 TiCDC / Drainer 的上游集群时,恢复数据无法由 TiCDC / Drainer 同步到下游。</li><li>BR 只支持在 `new_collations_enabled_on_first_bootstrap` 开关值相同的集群之间进行操作。</li></ul> |
| **使用限制** | <ul><li>BR 恢复到 TiCDC / Drainer 的上游集群时,恢复数据无法由 TiCDC / Drainer 同步到下游。</li><li>BR 只支持在 `mysql.tidb` 表中 `new_collation_enabled` 开关值相同的集群之间进行操作。</li></ul> |

## [sync-diff-inspector](/sync-diff-inspector/sync-diff-inspector-overview.md)

Expand Down
10 changes: 9 additions & 1 deletion mysql-schema.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,15 @@ aliases: ['/docs-cn/dev/system-tables/system-table-overview/','/docs-cn/dev/refe
* `global_priv` 基于证书的认证信息
* `role_edges` 角色之间的关系信息

## 集群状态系统表

* `tidb` 用于记录 TiDB 的一些全局信息

* `bootstrapped` 用于记录 TiDB 集群是否已完成初始化,注意该值为只读,不可修改。
* `tidb_server_version` 用于记录 TiDB 在初始化时的版本信息,注意该值为只读,不可修改。
* `system_tz` 用于记录 TiDB 的系统时区
* `new_collation_enabled` 用于记录 TiDB 是否开启了[新排序规则框架](/character-set-and-collation.md#新框架下的排序规则支持),注意该值为只读,不可修改。

## 服务端帮助信息系统表

* `help_topic` 目前为空
Expand Down Expand Up @@ -69,7 +78,6 @@ aliases: ['/docs-cn/dev/system-tables/system-table-overview/','/docs-cn/dev/refe
## 其它系统表

* `GLOBAL_VARIABLES` 全局系统变量表
* `tidb` 用于 TiDB 在 bootstrap 的时候记录相关版本信息
* `expr_pushdown_blacklist` 表达式下推的黑名单
* `opt_rule_blacklist` 逻辑优化规则的黑名单
* `table_cache_meta` 缓存表的信息
Expand Down

0 comments on commit a66c7a9

Please sign in to comment.