Skip to content
Merged
Changes from all 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
22 changes: 18 additions & 4 deletions br/backup-and-restore-tool.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,14 +56,28 @@ SST 文件以 `storeID_regionID_regionEpoch_keyHash_cf` 的格式命名。格式

下面是使用 BR 进行备份恢复的几条限制:

- BR 只支持在 TiDB v3.1 及以上版本使用。
- BR 恢复到 TiCDC / Drainer 的上游集群时,恢复数据无法由 TiCDC / Drainer 同步到下游。
- BR 只支持在 `new_collations_enabled_on_first_bootstrap` [开关值](/character-set-and-collation.md#排序规则支持)相同的集群之间进行操作。这是因为 BR 仅备份 KV 数据。如果备份集群和恢复集群采用不同的排序规则,数据校验会不通过。所以恢复集群时,你需要确保 `select VARIABLE_VALUE from mysql.tidb where VARIABLE_NAME='new_collation_enabled';` 语句的开关值查询结果与备份时的查询结果相一致,才可以进行恢复。

- 对于 v3.1 集群,TiDB 尚未支持 new collation,因此可以认为 new collation 未打开
- 对于 v4.0 集群,请通过 `SELECT VARIABLE_VALUE FROM mysql.tidb WHERE VARIABLE_NAME='new_collation_enabled';` 查看 new collation 是否打开。
### 兼容性

例如,数据备份在 v3.1 集群。如果恢复到 v4.0 集群中,查询恢复集群的 `new_collation_enabled` 的值为 `true`,则说明创建恢复集群时打开了 new collation 支持的开关。此时恢复数据,可能会出错。
BR 和 TiDB 集群的兼容性问题分为以下两方面:

+ 某些功能在开启或关闭状态下,会导致 KV 格式发生变化,因此备份和恢复期间没有统一开启或关闭,就会带来不兼容的问题
+ BR 部分版本和 TiDB 集群的接口不兼容

下表整理了会导致 KV 格式发生变化的功能。

| 功能 | 相关 issue | 解决方式 |
| ---- | ---- | ----- |
| New collation | [#352](https://github.com/pingcap/br/issues/352) | 确保恢复时集群的 `new_collations_enabled_on_first_bootstrap` 变量值和备份时的一致,否则会导致数据索引不一致和 checksum 通不过。 |
| 恢复集群开启 TiCDC 同步 | [#364](https://github.com/pingcap/br/issues/364#issuecomment-646813965) | TiKV 暂不能将 BR ingest 的 SST 文件下推到 TiCDC,因此使用 BR 恢复时候需要关闭 TiCDC。 |

在上述功能确保备份恢复一致的**前提**下,BR 和 TiKV/TiDB/PD 还可能因为版本内部协议不一致/接口不一致出现不兼容的问题,因此 BR 内置了版本检查。

### 版本检查

BR 内置版本会在执行备份和恢复操作前,对 TiDB 集群版本和自身版本进行对比检查。如果大版本不匹配(比如 BR v4.x 和 TiDB v5.x 上),BR 会提示退出。如要跳过版本检查,可以通过设置 `--check-requirements=false` 强行跳过版本检查,但是可能会遇到版本不兼容的问题。TiDB v4.0 用 BR 备份后,不完全支持恢复到 v5.0 以及之后版本,详细信息见 [BR 版本检查(stable 版文档)](https://docs.pingcap.com/zh/tidb/stable/backup-and-restore-tool#版本检查)。

### 运行 BR 的最低机型配置要求

Expand Down