diff --git a/TOC.md b/TOC.md index f596fa49db685..865be842e53a5 100644 --- a/TOC.md +++ b/TOC.md @@ -125,9 +125,9 @@ - [与 Apache Kafka 和 Apache Flink 进行数据集成](/replicate-data-to-kafka.md) - 运维操作 - 升级 TiDB 版本 - - [平滑升级 TiDB](/upgrade-tidb.md) - [使用 TiUP 升级](/upgrade-tidb-using-tiup.md) - [使用 TiDB Operator](https://docs.pingcap.com/zh/tidb-in-kubernetes/stable/upgrade-a-tidb-cluster) + - [平滑升级 TiDB](/upgrade-tidb.md) - [TiFlash v6.2 升级帮助](/tiflash-620-upgrade-guide.md) - 扩缩容 - [使用 TiUP(推荐)](/scale-tidb-using-tiup.md) diff --git a/faq/upgrade-faq.md b/faq/upgrade-faq.md index 87b350a0bab2c..ea42d550a6c82 100644 --- a/faq/upgrade-faq.md +++ b/faq/upgrade-faq.md @@ -22,7 +22,7 @@ aliases: ['/docs-cn/dev/faq/upgrade-faq/','/docs-cn/dev/faq/upgrade/'] * 集群中有 DDL 语句正在被执行时(通常为 `ADD INDEX` 和列类型变更等耗时较久的 DDL 语句),**请勿进行**升级操作。在升级前,建议使用 [`ADMIN SHOW DDL`](/sql-statements/sql-statement-admin-show-ddl.md) 命令查看集群中是否有正在进行的 DDL Job。如需升级,请等待 DDL 执行完成或使用 [`ADMIN CANCEL DDL`](/sql-statements/sql-statement-admin-cancel-ddl.md) 命令取消该 DDL Job 后再进行升级。 - * 另外,在升级 TiDB 集群的过程中,**请勿执行** DDL 语句,否则可能会出现行为未定义的问题。 + * 在升级 TiDB 集群的过程中,**请勿执行** DDL 语句,否则可能会出现行为未定义的问题。 * 从 TiDB v7.1 版本升级至更高的版本时: diff --git a/upgrade-tidb-using-tiup.md b/upgrade-tidb-using-tiup.md index e25903bf34a47..28beb937ba1b8 100644 --- a/upgrade-tidb-using-tiup.md +++ b/upgrade-tidb-using-tiup.md @@ -23,7 +23,7 @@ aliases: ['/docs-cn/dev/upgrade-tidb-using-tiup/','/docs-cn/dev/how-to/upgrade/u > 2. 在升级 TiDB 集群的过程中,**请勿执行** DDL 语句,否则可能会出现行为未定义的问题。 > 3. 集群中有 DDL 语句正在被执行时(通常为 `ADD INDEX` 和列类型变更等耗时较久的 DDL 语句),**请勿进行**升级操作。在升级前,建议使用 [`ADMIN SHOW DDL`](/sql-statements/sql-statement-admin-show-ddl.md) 命令查看集群中是否有正在进行的 DDL Job。如需升级,请等待 DDL 执行完成或使用 [`ADMIN CANCEL DDL`](/sql-statements/sql-statement-admin-cancel-ddl.md) 命令取消该 DDL Job 后再进行升级。 > -> 从 TiDB v7.1 版本升级至更高的版本时,可以不遵循上面的限制 1 和 2,建议参考[平滑升级 TiDB 的限制](/upgrade-tidb.md#使用限制)。 +> 从 TiDB v7.1 版本升级至更高的版本时,可以不遵循上面的限制 2 和 3,建议参考[平滑升级 TiDB 的限制](/upgrade-tidb.md#使用限制)。 > **注意:** > diff --git a/upgrade-tidb.md b/upgrade-tidb.md index 4f72165639181..f2099a68bb83d 100644 --- a/upgrade-tidb.md +++ b/upgrade-tidb.md @@ -5,26 +5,34 @@ summary: 本文介绍支持无需手动取消 DDL 的平滑升级集群功能。 # 平滑升级 TiDB -此功能用于取消禁止用户 DDL 操作存在于升级过程的限制。本文档介绍了 TiDB 升级过程中对用户 DDL 操作的支持和约束情况。 +> **注意** +> +> 平滑升级目前为实验特性 -此功能具体放开的两个限制如下(可以参考[使用 TiUP 升级 TiDB](/upgrade-tidb-using-tiup.md#使用-tiup-升级-tidb)中警告部分): - -1. 在升级过程中,请勿执行 DDL 操作,否则可能会出现行为未定义的问题; -2. 集群中有 DDL 语句正在被执行时(通常为 ADD INDEX 和列类型变更等耗时较久的 DDL 语句),请勿进行升级操作。 +本文档介绍 TiDB 的平滑升级集群功能,支持无需手动取消 DDL 的操作。平滑升级功能自 TiDB v7.1.0 引入,取消了升级过程中的限制,提供更平滑的升级体验。 ## 功能简介 -在 TiDB 升级过程中会先暂停用户 DDL 操作,然后执行升级过程中的系统 DDL 操作,再恢复原先的 DDL 操作,最后完整升级。其中恢复的用户 DDL job 还是按升级前的顺序执行。此外,整个升级过程无需用户干预。 +TiDB 引入平滑升级功能前,对于升级过程中的 DDL 操作有如下限制(可以参考[使用 TiUP 升级 TiDB](/upgrade-tidb-using-tiup.md#使用-tiup-升级-tidb)中警告部分): + +1. 在升级过程中,请勿执行 DDL 操作,否则可能会出现行为未定义的问题。 +2. 集群中有 DDL 语句正在被执行时(通常为 `ADD INDEX` 和列类型变更等耗时较久的 DDL 语句),请勿进行升级操作。 + +开启平滑升级后,TiDB 升级过程不再受上述限制。 + +升级过程中,TiDB 会自动暂停用户的 DDL 操作,然后执行升级过程中的系统 DDL 操作,再恢复原先的 DDL 操作,最后完整升级。其中恢复的用户 DDL job 还是按升级前的顺序执行。此外,整个升级过程无需用户干预。 ## 使用限制 +使用平滑升级功能时,需要注意以下限制。 + ### 用户操作限制 * 在升级前,有正在处理的 canceling DDL job (即有正在被处理的 DDL job 被用户取消了)时,升级会直接报错(因为 canceling 状态的 job 不能被 `pause`)并退出升级。 * 在升级过程中,不允许以下操作: - * 禁止对系统表(mysql.*、information_schema.*、performance_schema.*、metrics_schema.*)进行 DDL 操作。 + * 对系统表(`mysql.*`、`information_schema.*`、`performance_schema.*`、`metrics_schema.*`)进行 DDL 操作。 * `ADMIN CANCEL/PAUSE/RESUME DDL JOBS job_id [, job_id] ...;`。 @@ -38,6 +46,4 @@ summary: 本文介绍支持无需手动取消 DDL 的平滑升级集群功能。 ## 支持版本 -此功能从 v7.1.0 版本开始引入,且当前为实验特性。 - 此功能支持版本:从 TiDB v7.1 版本升级至更高的版本。 \ No newline at end of file