diff --git a/markdown-pages/en/tidb/master/TOC.md b/markdown-pages/en/tidb/master/TOC.md index 56f00a8..4c08081 100644 --- a/markdown-pages/en/tidb/master/TOC.md +++ b/markdown-pages/en/tidb/master/TOC.md @@ -4,7 +4,7 @@ - [Docs Home](https://docs.pingcap.com/) - About TiDB - [TiDB Introduction](/overview.md) - - [TiDB 7.5 Release Notes](/releases/release-7.5.0.md) + - [TiDB 7.6 Release Notes](/releases/release-7.6.0.md) - [Features](/basic-features.md) - [MySQL Compatibility](/mysql-compatibility.md) - [TiDB Limitations](/tidb-limitations.md) @@ -718,6 +718,7 @@ - [`ADMIN PAUSE DDL`](/sql-statements/sql-statement-admin-pause-ddl.md) - [`ADMIN RECOVER INDEX`](/sql-statements/sql-statement-admin-recover.md) - [`ADMIN RESUME DDL`](/sql-statements/sql-statement-admin-resume-ddl.md) + - [`ADMIN [SET|SHOW|UNSET] BDR ROLE`](/sql-statements/sql-statement-admin-bdr-role.md) - [`ADMIN SHOW DDL [JOBS|JOB QUERIES]`](/sql-statements/sql-statement-admin-show-ddl.md) - [`ADMIN SHOW TELEMETRY`](/sql-statements/sql-statement-admin-show-telemetry.md) - [`ALTER DATABASE`](/sql-statements/sql-statement-alter-database.md) @@ -975,6 +976,7 @@ - [Overview](/performance-schema/performance-schema.md) - [`SESSION_CONNECT_ATTRS`](/performance-schema/performance-schema-session-connect-attrs.md) - [Metadata Lock](/metadata-lock.md) + - [TiDB DDL V2](/ddl-v2.md) - UI - TiDB Dashboard - [Overview](/dashboard/dashboard-intro.md) @@ -1029,6 +1031,8 @@ - [Release Timeline](/releases/release-timeline.md) - [TiDB Versioning](/releases/versioning.md) - [TiDB Installation Packages](/binary-package.md) + - v7.6 + - [7.6.0](/releases/release-7.6.0.md) - v7.5 - [7.5.0](/releases/release-7.5.0.md) - v7.4 diff --git a/markdown-pages/en/tidb/master/releases/release-7.6.0.md b/markdown-pages/en/tidb/master/releases/release-7.6.0.md index 094b847..29fb1c0 100644 --- a/markdown-pages/en/tidb/master/releases/release-7.6.0.md +++ b/markdown-pages/en/tidb/master/releases/release-7.6.0.md @@ -5,7 +5,7 @@ summary: Learn about the new features, compatibility changes, improvements, and # TiDB 7.6.0 Release Notes -Release date: January xx, 2024 +Release date: January 25, 2024 TiDB version: 7.6.0 @@ -25,18 +25,18 @@ Quick access: [Quick start](https://docs.pingcap.com/tidb/v7.6/quick-start-with- Scalability and Performance Cross-database SQL binding - When managing hundreds of databases with the same schema, it is often necessary to apply SQL bindings across these schemas. For example, in SaaS or PaaS data platforms, each user typically operates separate databases with the same schema and runs similar SQL queries on them. In this case, it is impractical to bind SQL for each schema one by one. TiDB v7.6.0 introduces cross-database SQL bindings that enable matching bindings across all schema-equivalent databases. + When managing hundreds of databases with the same schema, it is often necessary to apply SQL bindings across these databases. For example, in SaaS or PaaS data platforms, each user typically operates separate databases with the same schema and runs similar SQL queries on them. In this case, it is impractical to bind SQL for each database one by one. TiDB v7.6.0 introduces cross-database SQL bindings that enable matching bindings across all schema-equivalent databases. Achieve up to 10 times faster for snapshot restore (experimental) - BR v7.6.0 introduces an experimental coarse-grained Region scatter algorithm to prepare snapshot restores for clusters. In clusters with many TiKV nodes, this algorithm significantly improves cluster resource efficiency by more evenly distributing load across nodes and better utilizing per-node network bandwidth. In several real-world cases, this improvement accelerates restore speed by about up to 10 times. + BR v7.6.0 introduces an experimental coarse-grained Region scatter algorithm to accelerate snapshot restores for clusters. In clusters with many TiKV nodes, this algorithm significantly improves cluster resource efficiency by more evenly distributing load across nodes and better utilizing per-node network bandwidth. In several real-world cases, this improvement accelerates restore process by about up to 10 times. Achieve up to 10 times faster for creating tables in batch (experimental) With the implementation of the new DDL architecture in v7.6.0, the performance of batch table creation has witnessed a remarkable improvement, up to 10 times faster. This substantial enhancement drastically reduces the time needed for creating numerous tables. This acceleration is particularly noteworthy in SaaS scenarios, where the prevalence of high volumes of tables, ranging from tens to hundreds of thousands, is a common challenge. - Use Active PD Followers to scale PD's Region information query service, ultimately scaling the cluster (experimental) + Use Active PD Followers to enhance PD's Region information query service (experimental) TiDB v7.6.0 introduces an experimental feature "Active PD Follower", which allows PD followers to provide Region information query services. This feature improves the capability of the PD cluster to handle GetRegion and ScanRegions requests in clusters with a large number of TiDB nodes and Regions, thereby reducing the CPU pressure on the PD leader. @@ -314,7 +314,6 @@ Starting from v7.6.0, the `TiDB-community-server` [binary-package](/binary-packa ## Deprecated features * Support for the TLSv1.0 and TLSv1.1 protocols is deprecated in TiDB v7.6.0 and will be removed in v8.0.0. Please upgrade to TLSv1.2 or TLSv1.3. - * The [baseline evolution](/sql-plan-management.md#baseline-evolution) feature for execution plans will be deprecated in TiDB v8.0.0. The equivalent functionality will be redesigned in the subsequent versions. * The [`tidb_disable_txn_auto_retry`](/system-variables.md#tidb_disable_txn_auto_retry) system variable will be deprecated in TiDB v8.0.0. After that, TiDB will no longer support automatic retries of optimistic transactions. @@ -360,6 +359,7 @@ Starting from v7.6.0, the `TiDB-community-server` [binary-package](/binary-packa - Introduce a new integration test for Point-In-Time Recovery (PITR) in the `delete range` scenario, enhancing PITR stability [#47738](https://github.com/pingcap/tidb/issues/47738) @[Leavrth](https://github.com/Leavrth) - Improve the table creation performance of the `RESTORE` statement in scenarios with large datasets [#48301](https://github.com/pingcap/tidb/issues/48301) @[Leavrth](https://github.com/Leavrth) + - Refactor the BR exception handling mechanism to increase tolerance for unknown errors [#47656](https://github.com/pingcap/tidb/issues/47656) @[3pointer](https://github.com/3pointer) + TiCDC @@ -407,7 +407,7 @@ Starting from v7.6.0, the `TiDB-community-server` [binary-package](/binary-packa - Fix the issue that specifying placement rules when executing `ALTER TABLE t PARTITION BY` reports the error `ERROR 8239` [#48630](https://github.com/pingcap/tidb/issues/48630) @[mjonss](https://github.com/mjonss) - Fix the issue that the `START_TIME` column type in `INFORMATION_SCHEMA.CLUSTER_INFO` is not valid [#45221](https://github.com/pingcap/tidb/issues/45221) @[dveeden](https://github.com/dveeden) - Fix the issue that invalid `EXTRA` column type in `INFORMATION_SCHEMA.COLUMNS` leads to the error `Data Too Long, field len 30, data len 45` [#42030](https://github.com/pingcap/tidb/issues/42030) @[tangenta](https://github.com/tangenta) - - Fix the issue that `IN (...) ` causes different plan digests in `INFORMATION_SCHEMA.STATEMENTS_SUMMARY` [#33559](https://github.com/pingcap/tidb/issues/33559) @[King-Dylan](https://github.com/King-Dylan) + - Fix the issue that `IN (...)` causes different plan digests in `INFORMATION_SCHEMA.STATEMENTS_SUMMARY` [#33559](https://github.com/pingcap/tidb/issues/33559) @[King-Dylan](https://github.com/King-Dylan) - Fix the issue that when converting the `TIME` type to the `YEAR` type, the returned result mixes `TIME` and the year [#48557](https://github.com/pingcap/tidb/issues/48557) @[YangKeao](https://github.com/YangKeao) - Fix the issue that disabling `tidb_enable_collect_execution_info` causes the coprocessor cache to panic [#48212](https://github.com/pingcap/tidb/issues/48212) @[you06](https://github.com/you06) - Fix the issue that TiDB crashes when `shuffleExec` quits unexpectedly [#48230](https://github.com/pingcap/tidb/issues/48230) @[wshwsh12](https://github.com/wshwsh12) diff --git a/markdown-pages/en/tidb/master/releases/release-notes.md b/markdown-pages/en/tidb/master/releases/release-notes.md new file mode 100644 index 0000000..8f6557a --- /dev/null +++ b/markdown-pages/en/tidb/master/releases/release-notes.md @@ -0,0 +1,254 @@ +--- +title: Release Notes +aliases: ['/docs/dev/releases/release-notes/','/docs/dev/releases/rn/'] +--- + +# TiDB Release Notes + +## 7.6 + +- [7.6.0-DMR](/releases/release-7.6.0.md): 2024-01-25 + +## 7.5 + +- [7.5.0](/releases/release-7.5.0.md): 2023-12-01 + +## 7.4 + +- [7.4.0-DMR](/releases/release-7.4.0.md): 2023-10-12 + +## 7.3 + +- [7.3.0-DMR](/releases/release-7.3.0.md): 2023-08-14 + +## 7.2 + +- [7.2.0-DMR](/releases/release-7.2.0.md): 2023-06-29 + +## 7.1 + +- [7.1.3](/releases/release-7.1.3.md): 2023-12-21 +- [7.1.2](/releases/release-7.1.2.md): 2023-10-25 +- [7.1.1](/releases/release-7.1.1.md): 2023-07-24 +- [7.1.0](/releases/release-7.1.0.md): 2023-05-31 + +## 7.0 + +- [7.0.0-DMR](/releases/release-7.0.0.md): 2023-03-30 + +## 6.6 + +- [6.6.0-DMR](/releases/release-6.6.0.md): 2023-02-20 + +## 6.5 + +- [6.5.7](/releases/release-6.5.7.md): 2024-01-08 +- [6.5.6](/releases/release-6.5.6.md): 2023-12-07 +- [6.5.5](/releases/release-6.5.5.md): 2023-09-21 +- [6.5.4](/releases/release-6.5.4.md): 2023-08-28 +- [6.5.3](/releases/release-6.5.3.md): 2023-06-14 +- [6.5.2](/releases/release-6.5.2.md): 2023-04-21 +- [6.5.1](/releases/release-6.5.1.md): 2023-03-10 +- [6.5.0](/releases/release-6.5.0.md): 2022-12-29 + +## 6.4 + +- [6.4.0-DMR](/releases/release-6.4.0.md): 2022-11-17 + +## 6.3 + +- [6.3.0-DMR](/releases/release-6.3.0.md): 2022-09-30 + +## 6.2 + +- [6.2.0-DMR](/releases/release-6.2.0.md): 2022-08-23 + +## 6.1 + +- [6.1.7](/releases/release-6.1.7.md): 2023-07-12 +- [6.1.6](/releases/release-6.1.6.md): 2023-04-12 +- [6.1.5](/releases/release-6.1.5.md): 2023-02-28 +- [6.1.4](/releases/release-6.1.4.md): 2023-02-08 +- [6.1.3](/releases/release-6.1.3.md): 2022-12-05 +- [6.1.2](/releases/release-6.1.2.md): 2022-10-24 +- [6.1.1](/releases/release-6.1.1.md): 2022-09-01 +- [6.1.0](/releases/release-6.1.0.md): 2022-06-13 + +## 6.0 + +- [6.0.0-DMR](/releases/release-6.0.0-dmr.md): 2022-04-07 + +## 5.4 + +- [5.4.3](/releases/release-5.4.3.md): 2022-10-13 +- [5.4.2](/releases/release-5.4.2.md): 2022-07-08 +- [5.4.1](/releases/release-5.4.1.md): 2022-05-13 +- [5.4.0](/releases/release-5.4.0.md): 2022-02-15 + +## 5.3 + +- [5.3.4](/releases/release-5.3.4.md): 2022-11-24 +- [5.3.3](/releases/release-5.3.3.md): 2022-09-14 +- [5.3.2](/releases/release-5.3.2.md): 2022-06-29 +- [5.3.1](/releases/release-5.3.1.md): 2022-03-03 +- [5.3.0](/releases/release-5.3.0.md): 2021-11-30 + +## 5.2 + +- [5.2.4](/releases/release-5.2.4.md): 2022-04-26 +- [5.2.3](/releases/release-5.2.3.md): 2021-12-03 +- [5.2.2](/releases/release-5.2.2.md): 2021-10-29 +- [5.2.1](/releases/release-5.2.1.md): 2021-09-09 +- [5.2.0](/releases/release-5.2.0.md): 2021-08-27 + +## 5.1 + +- [5.1.5](/releases/release-5.1.5.md): 2022-12-28 +- [5.1.4](/releases/release-5.1.4.md): 2022-02-22 +- [5.1.3](/releases/release-5.1.3.md): 2021-12-03 +- [5.1.2](/releases/release-5.1.2.md): 2021-09-27 +- [5.1.1](/releases/release-5.1.1.md): 2021-07-30 +- [5.1.0](/releases/release-5.1.0.md): 2021-06-24 + +## 5.0 + +- [5.0.6](/releases/release-5.0.6.md): 2021-12-31 +- [5.0.5](/releases/release-5.0.5.md): 2021-12-03 +- [5.0.4](/releases/release-5.0.4.md): 2021-09-27 +- [5.0.3](/releases/release-5.0.3.md): 2021-07-02 +- [5.0.2](/releases/release-5.0.2.md): 2021-06-10 +- [5.0.1](/releases/release-5.0.1.md): 2021-04-24 +- [5.0.0](/releases/release-5.0.0.md): 2021-04-07 +- [5.0.0-rc](/releases/release-5.0.0-rc.md): 2021-01-12 + +## 4.0 + +- [4.0.16](/releases/release-4.0.16.md): 2021-12-17 +- [4.0.15](/releases/release-4.0.15.md): 2021-09-27 +- [4.0.14](/releases/release-4.0.14.md): 2021-07-27 +- [4.0.13](/releases/release-4.0.13.md): 2021-05-28 +- [4.0.12](/releases/release-4.0.12.md): 2021-04-02 +- [4.0.11](/releases/release-4.0.11.md): 2021-02-26 +- [4.0.10](/releases/release-4.0.10.md): 2021-01-15 +- [4.0.9](/releases/release-4.0.9.md): 2020-12-21 +- [4.0.8](/releases/release-4.0.8.md): 2020-10-30 +- [4.0.7](/releases/release-4.0.7.md): 2020-09-29 +- [4.0.6](/releases/release-4.0.6.md): 2020-09-15 +- [4.0.5](/releases/release-4.0.5.md): 2020-08-31 +- [4.0.4](/releases/release-4.0.4.md): 2020-07-31 +- [4.0.3](/releases/release-4.0.3.md): 2020-07-24 +- [4.0.2](/releases/release-4.0.2.md): 2020-07-01 +- [4.0.1](/releases/release-4.0.1.md): 2020-06-12 +- [4.0.0](/releases/release-4.0-ga.md): 2020-05-28 +- [4.0.0-rc.2](/releases/release-4.0.0-rc.2.md): 2020-05-15 +- [4.0.0-rc.1](/releases/release-4.0.0-rc.1.md): 2020-04-28 +- [4.0.0-rc](/releases/release-4.0.0-rc.md): 2020-04-08 +- [4.0.0-beta.2](/releases/release-4.0.0-beta.2.md): 2020-03-18 +- [4.0.0-beta.1](/releases/release-4.0.0-beta.1.md): 2020-02-28 +- [4.0.0-beta](/releases/release-4.0.0-beta.md): 2020-01-17 + +## 3.1 + +- [3.1.2](/releases/release-3.1.2.md): 2020-06-04 +- [3.1.1](/releases/release-3.1.1.md): 2020-04-30 +- [3.1.0](/releases/release-3.1.0-ga.md): 2020-04-16 +- [3.1.0-rc](/releases/release-3.1.0-rc.md): 2020-04-02 +- [3.1.0-beta.2](/releases/release-3.1.0-beta.2.md): 2020-03-09 +- [3.1.0-beta.1](/releases/release-3.1.0-beta.1.md): 2020-01-10 +- [3.1.0-beta](/releases/release-3.1.0-beta.md): 2019-12-20 + +## 3.0 + +- [3.0.20](/releases/release-3.0.20.md): 2020-12-25 +- [3.0.19](/releases/release-3.0.19.md): 2020-09-25 +- [3.0.18](/releases/release-3.0.18.md): 2020-08-21 +- [3.0.17](/releases/release-3.0.17.md): 2020-08-03 +- [3.0.16](/releases/release-3.0.16.md): 2020-07-03 +- [3.0.15](/releases/release-3.0.15.md): 2020-06-05 +- [3.0.14](/releases/release-3.0.14.md): 2020-05-09 +- [3.0.13](/releases/release-3.0.13.md): 2020-04-22 +- [3.0.12](/releases/release-3.0.12.md): 2020-03-16 +- [3.0.11](/releases/release-3.0.11.md): 2020-03-04 +- [3.0.10](/releases/release-3.0.10.md): 2020-02-20 +- [3.0.9](/releases/release-3.0.9.md): 2020-01-14 +- [3.0.8](/releases/release-3.0.8.md): 2019-12-31 +- [3.0.7](/releases/release-3.0.7.md): 2019-12-04 +- [3.0.6](/releases/release-3.0.6.md): 2019-11-28 +- [3.0.5](/releases/release-3.0.5.md): 2019-10-25 +- [3.0.4](/releases/release-3.0.4.md): 2019-10-08 +- [3.0.3](/releases/release-3.0.3.md): 2019-08-29 +- [3.0.2](/releases/release-3.0.2.md): 2019-08-07 +- [3.0.1](/releases/release-3.0.1.md): 2019-07-16 +- [3.0.0](/releases/release-3.0-ga.md): 2019-06-28 +- [3.0.0-rc.3](/releases/release-3.0.0-rc.3.md): 2019-06-21 +- [3.0.0-rc.2](/releases/release-3.0.0-rc.2.md): 2019-05-28 +- [3.0.0-rc.1](/releases/release-3.0.0-rc.1.md): 2019-05-10 +- [3.0.0-beta.1](/releases/release-3.0.0-beta.1.md): 2019-03-26 +- [3.0.0-beta](/releases/release-3.0-beta.md): 2019-01-19 + +## 2.1 + +- [2.1.19](/releases/release-2.1.19.md): 2019-12-27 +- [2.1.18](/releases/release-2.1.18.md): 2019-11-04 +- [2.1.17](/releases/release-2.1.17.md): 2019-09-11 +- [2.1.16](/releases/release-2.1.16.md): 2019-08-15 +- [2.1.15](/releases/release-2.1.15.md): 2019-07-18 +- [2.1.14](/releases/release-2.1.14.md): 2019-07-04 +- [2.1.13](/releases/release-2.1.13.md): 2019-06-21 +- [2.1.12](/releases/release-2.1.12.md): 2019-06-13 +- [2.1.11](/releases/release-2.1.11.md): 2019-06-03 +- [2.1.10](/releases/release-2.1.10.md): 2019-05-22 +- [2.1.9](/releases/release-2.1.9.md): 2019-05-06 +- [2.1.8](/releases/release-2.1.8.md): 2019-04-12 +- [2.1.7](/releases/release-2.1.7.md): 2019-03-28 +- [2.1.6](/releases/release-2.1.6.md): 2019-03-15 +- [2.1.5](/releases/release-2.1.5.md): 2019-02-28 +- [2.1.4](/releases/release-2.1.4.md): 2019-02-15 +- [2.1.3](/releases/release-2.1.3.md): 2019-01-28 +- [2.1.2](/releases/release-2.1.2.md): 2018-12-22 +- [2.1.1](/releases/release-2.1.1.md): 2018-12-12 +- [2.1.0](/releases/release-2.1-ga.md): 2018-11-30 +- [2.1.0-rc.5](/releases/release-2.1-rc.5.md): 2018-11-12 +- [2.1.0-rc.4](/releases/release-2.1-rc.4.md): 2018-10-23 +- [2.1.0-rc.3](/releases/release-2.1-rc.3.md): 2018-09-29 +- [2.1.0-rc.2](/releases/release-2.1-rc.2.md): 2018-09-14 +- [2.1.0-rc.1](/releases/release-2.1-rc.1.md): 2018-08-24 +- [2.1.0-beta](/releases/release-2.1-beta.md): 2018-06-29 + +## 2.0 + +- [2.0.11](/releases/release-2.0.11.md): 2019-01-03 +- [2.0.10](/releases/release-2.0.10.md): 2018-12-18 +- [2.0.9](/releases/release-2.0.9.md): 2018-11-19 +- [2.0.8](/releases/release-2.0.8.md): 2018-10-16 +- [2.0.7](/releases/release-2.0.7.md): 2018-09-07 +- [2.0.6](/releases/release-2.0.6.md): 2018-08-06 +- [2.0.5](/releases/release-2.0.5.md): 2018-07-06 +- [2.0.4](/releases/release-2.0.4.md): 2018-06-15 +- [2.0.3](/releases/release-2.0.3.md): 2018-06-01 +- [2.0.2](/releases/release-2.0.2.md): 2018-05-21 +- [2.0.1](/releases/release-2.0.1.md): 2018-05-16 +- [2.0.0](/releases/release-2.0-ga.md): 2018-04-27 +- [2.0.0-rc.5](/releases/release-2.0-rc.5.md): 2018-04-17 +- [2.0.0-rc.4](/releases/release-2.0-rc.4.md): 2018-03-30 +- [2.0.0-rc.3](/releases/release-2.0-rc.3.md): 2018-03-23 +- [2.0.0-rc.1](/releases/release-2.0-rc.1.md): 2018-03-09 +- [1.1.0-beta](/releases/release-1.1-beta.md): 2018-02-24 +- [1.1.0-alpha](/releases/release-1.1-alpha.md): 2018-01-19 + +## 1.0 + +- [1.0.8](/releases/release-1.0.8.md): 2018-02-11 +- [1.0.7](/releases/release-1.0.7.md): 2018-01-22 +- [1.0.6](/releases/release-1.0.6.md): 2018-01-08 +- [1.0.5](/releases/release-1.0.5.md): 2017-12-26 +- [1.0.4](/releases/release-1.0.4.md): 2017-12-11 +- [1.0.3](/releases/release-1.0.3.md): 2017-11-28 +- [1.0.2](/releases/release-1.0.2.md): 2017-11-13 +- [1.0.1](/releases/release-1.0.1.md): 2017-11-01 +- [1.0.0](/releases/release-1.0-ga.md): 2017-10-16 +- [Pre-GA](/releases/release-pre-ga.md): 2017-08-30 +- [rc4](/releases/release-rc.4.md): 2017-08-04 +- [rc3](/releases/release-rc.3.md): 2017-06-16 +- [rc2](/releases/release-rc.2.md): 2017-03-01 +- [rc1](/releases/release-rc.1.md): 2016-12-23 diff --git a/markdown-pages/en/tidb/master/releases/release-timeline.md b/markdown-pages/en/tidb/master/releases/release-timeline.md new file mode 100644 index 0000000..5208cdd --- /dev/null +++ b/markdown-pages/en/tidb/master/releases/release-timeline.md @@ -0,0 +1,184 @@ +--- +title: TiDB Release Timeline +summary: Learn about the TiDB release timeline. +--- + +# TiDB Release Timeline + +This document shows all the released TiDB versions in reverse chronological order. + +| Version | Release Date | +| :--- | :--- | +| [7.6.0-DMR](/releases/release-7.6.0.md) | 2024-01-25 | +| [6.5.7](/releases/release-6.5.7.md) | 2024-01-08 | +| [7.1.3](/releases/release-7.1.3.md) | 2023-12-21 | +| [6.5.6](/releases/release-6.5.6.md) | 2023-12-07 | +| [7.5.0](/releases/release-7.5.0.md) | 2023-12-01 | +| [7.1.2](/releases/release-7.1.2.md) | 2023-10-25 | +| [7.4.0-DMR](/releases/release-7.4.0.md) | 2023-10-12 | +| [6.5.5](/releases/release-6.5.5.md) | 2023-09-21 | +| [6.5.4](/releases/release-6.5.4.md) | 2023-08-28 | +| [7.3.0-DMR](/releases/release-7.3.0.md) | 2023-08-14 | +| [7.1.1](/releases/release-7.1.1.md) | 2023-07-24 | +| [6.1.7](/releases/release-6.1.7.md) | 2023-07-12 | +| [7.2.0-DMR](/releases/release-7.2.0.md) | 2023-06-29 | +| [6.5.3](/releases/release-6.5.3.md) | 2023-06-14 | +| [7.1.0](/releases/release-7.1.0.md) | 2023-05-31 | +| [6.5.2](/releases/release-6.5.2.md) | 2023-04-21 | +| [6.1.6](/releases/release-6.1.6.md) | 2023-04-12 | +| [7.0.0-DMR](/releases/release-7.0.0.md) | 2023-03-30 | +| [6.5.1](/releases/release-6.5.1.md) | 2023-03-10 | +| [6.1.5](/releases/release-6.1.5.md) | 2023-02-28 | +| [6.6.0-DMR](/releases/release-6.6.0.md) | 2023-02-20 | +| [6.1.4](/releases/release-6.1.4.md) | 2023-02-08 | +| [6.5.0](/releases/release-6.5.0.md) | 2022-12-29 | +| [5.1.5](/releases/release-5.1.5.md) | 2022-12-28 | +| [6.1.3](/releases/release-6.1.3.md) | 2022-12-05 | +| [5.3.4](/releases/release-5.3.4.md) | 2022-11-24 | +| [6.4.0-DMR](/releases/release-6.4.0.md) | 2022-11-17 | +| [6.1.2](/releases/release-6.1.2.md) | 2022-10-24 | +| [5.4.3](/releases/release-5.4.3.md) | 2022-10-13 | +| [6.3.0-DMR](/releases/release-6.3.0.md) | 2022-09-30 | +| [5.3.3](/releases/release-5.3.3.md) | 2022-09-14 | +| [6.1.1](/releases/release-6.1.1.md) | 2022-09-01 | +| [6.2.0-DMR](/releases/release-6.2.0.md) | 2022-08-23 | +| [5.4.2](/releases/release-5.4.2.md) | 2022-07-08 | +| [5.3.2](/releases/release-5.3.2.md) | 2022-06-29 | +| [6.1.0](/releases/release-6.1.0.md) | 2022-06-13 | +| [5.4.1](/releases/release-5.4.1.md) | 2022-05-13 | +| [5.2.4](/releases/release-5.2.4.md) | 2022-04-26 | +| [6.0.0-DMR](/releases/release-6.0.0-dmr.md) | 2022-04-07 | +| [5.3.1](/releases/release-5.3.1.md) | 2022-03-03 | +| [5.1.4](/releases/release-5.1.4.md) | 2022-02-22 | +| [5.4.0](/releases/release-5.4.0.md) | 2022-02-15 | +| [5.0.6](/releases/release-5.0.6.md) | 2021-12-31 | +| [4.0.16](/releases/release-4.0.16.md) | 2021-12-17 | +| [5.1.3](/releases/release-5.1.3.md) | 2021-12-03 | +| [5.0.5](/releases/release-5.0.5.md) | 2021-12-03 | +| [5.2.3](/releases/release-5.2.3.md) | 2021-12-03 | +| [5.3.0](/releases/release-5.3.0.md) | 2021-11-30 | +| [5.2.2](/releases/release-5.2.2.md) | 2021-10-29 | +| [5.1.2](/releases/release-5.1.2.md) | 2021-09-27 | +| [5.0.4](/releases/release-5.0.4.md) | 2021-09-27 | +| [4.0.15](/releases/release-4.0.15.md) | 2021-09-27 | +| [5.2.1](/releases/release-5.2.1.md) | 2021-09-09 | +| [5.2.0](/releases/release-5.2.0.md) | 2021-08-27 | +| [5.1.1](/releases/release-5.1.1.md) | 2021-07-30 | +| [4.0.14](/releases/release-4.0.14.md) | 2021-07-27 | +| [5.0.3](/releases/release-5.0.3.md) | 2021-07-02 | +| [5.1.0](/releases/release-5.1.0.md) | 2021-06-24 | +| [5.0.2](/releases/release-5.0.2.md) | 2021-06-10 | +| [4.0.13](/releases/release-4.0.13.md) | 2021-05-28 | +| [5.0.1](/releases/release-5.0.1.md) | 2021-04-24 | +| [5.0.0](/releases/release-5.0.0.md) | 2021-04-07 | +| [4.0.12](/releases/release-4.0.12.md) | 2021-04-02 | +| [4.0.11](/releases/release-4.0.11.md) | 2021-02-26 | +| [4.0.10](/releases/release-4.0.10.md) | 2021-01-15 | +| [5.0.0-rc](/releases/release-5.0.0-rc.md) | 2021-01-12 | +| [3.0.20](/releases/release-3.0.20.md) | 2020-12-25 | +| [4.0.9](/releases/release-4.0.9.md) | 2020-12-21 | +| [4.0.8](/releases/release-4.0.8.md) | 2020-10-30 | +| [4.0.7](/releases/release-4.0.7.md) | 2020-09-29 | +| [3.0.19](/releases/release-3.0.19.md) | 2020-09-25 | +| [4.0.6](/releases/release-4.0.6.md) | 2020-09-15 | +| [4.0.5](/releases/release-4.0.5.md) | 2020-08-31 | +| [3.0.18](/releases/release-3.0.18.md) | 2020-08-21 | +| [3.0.17](/releases/release-3.0.17.md) | 2020-08-03 | +| [4.0.4](/releases/release-4.0.4.md) | 2020-07-31 | +| [4.0.3](/releases/release-4.0.3.md) | 2020-07-24 | +| [3.0.16](/releases/release-3.0.16.md) | 2020-07-03 | +| [4.0.2](/releases/release-4.0.2.md) | 2020-07-01 | +| [4.0.1](/releases/release-4.0.1.md) | 2020-06-12 | +| [3.0.15](/releases/release-3.0.15.md) | 2020-06-05 | +| [3.1.2](/releases/release-3.1.2.md) | 2020-06-04 | +| [4.0.0](/releases/release-4.0-ga.md) | 2020-05-28 | +| [4.0.0-rc.2](/releases/release-4.0.0-rc.2.md) | 2020-05-15 | +| [3.0.14](/releases/release-3.0.14.md) | 2020-05-09 | +| [3.1.1](/releases/release-3.1.1.md) | 2020-04-30 | +| [4.0.0-rc.1](/releases/release-4.0.0-rc.1.md) | 2020-04-28 | +| [3.0.13](/releases/release-3.0.13.md) | 2020-04-22 | +| [3.1.0](/releases/release-3.1.0-ga.md) | 2020-04-16 | +| [4.0.0-rc](/releases/release-4.0.0-rc.md) | 2020-04-08 | +| [3.1.0-rc](/releases/release-3.1.0-rc.md) | 2020-04-02 | +| [4.0.0-beta.2](/releases/release-4.0.0-beta.2.md) | 2020-03-18 | +| [3.0.12](/releases/release-3.0.12.md) | 2020-03-16 | +| [3.1.0-beta.2](/releases/release-3.1.0-beta.2.md) | 2020-03-09 | +| [3.0.11](/releases/release-3.0.11.md) | 2020-03-04 | +| [4.0.0-beta.1](/releases/release-4.0.0-beta.1.md) | 2020-02-28 | +| [3.0.10](/releases/release-3.0.10.md) | 2020-02-20 | +| [4.0.0-beta](/releases/release-4.0.0-beta.md) | 2020-01-17 | +| [3.0.9](/releases/release-3.0.9.md) | 2020-01-14 | +| [3.1.0-beta.1](/releases/release-3.1.0-beta.1.md) | 2020-01-10 | +| [3.0.8](/releases/release-3.0.8.md) | 2019-12-31 | +| [2.1.19](/releases/release-2.1.19.md) | 2019-12-27 | +| [3.1.0-beta](/releases/release-3.1.0-beta.md) | 2019-12-20 | +| [3.0.7](/releases/release-3.0.7.md) | 2019-12-04 | +| [3.0.6](/releases/release-3.0.6.md) | 2019-11-28 | +| [2.1.18](/releases/release-2.1.18.md) | 2019-11-04 | +| [3.0.5](/releases/release-3.0.5.md) | 2019-10-25 | +| [3.0.4](/releases/release-3.0.4.md) | 2019-10-08 | +| [2.1.17](/releases/release-2.1.17.md) | 2019-09-11 | +| [3.0.3](/releases/release-3.0.3.md) | 2019-08-29 | +| [2.1.16](/releases/release-2.1.16.md) | 2019-08-15 | +| [3.0.2](/releases/release-3.0.2.md) | 2019-08-07 | +| [2.1.15](/releases/release-2.1.15.md) | 2019-07-18 | +| [3.0.1](/releases/release-3.0.1.md) | 2019-07-16 | +| [2.1.14](/releases/release-2.1.14.md) | 2019-07-04 | +| [3.0.0](/releases/release-3.0-ga.md) | 2019-06-28 | +| [3.0.0-rc.3](/releases/release-3.0.0-rc.3.md) | 2019-06-21 | +| [2.1.13](/releases/release-2.1.13.md) | 2019-06-21 | +| [2.1.12](/releases/release-2.1.12.md) | 2019-06-13 | +| [2.1.11](/releases/release-2.1.11.md) | 2019-06-03 | +| [3.0.0-rc.2](/releases/release-3.0.0-rc.2.md) | 2019-05-28 | +| [2.1.10](/releases/release-2.1.10.md) | 2019-05-22 | +| [3.0.0-rc.1](/releases/release-3.0.0-rc.1.md) | 2019-05-10 | +| [2.1.9](/releases/release-2.1.9.md) | 2019-05-06 | +| [2.1.8](/releases/release-2.1.8.md) | 2019-04-12 | +| [2.1.7](/releases/release-2.1.7.md) | 2019-03-28 | +| [3.0.0-beta.1](/releases/release-3.0.0-beta.1.md) | 2019-03-26 | +| [2.1.6](/releases/release-2.1.6.md) | 2019-03-15 | +| [2.1.5](/releases/release-2.1.5.md) | 2019-02-28 | +| [2.1.4](/releases/release-2.1.4.md) | 2019-02-15 | +| [2.1.3](/releases/release-2.1.3.md) | 2019-01-28 | +| [3.0.0-beta](/releases/release-3.0-beta.md) | 2019-01-19 | +| [2.0.11](/releases/release-2.0.11.md) | 2019-01-03 | +| [2.1.2](/releases/release-2.1.2.md) | 2018-12-22 | +| [2.0.10](/releases/release-2.0.10.md) | 2018-12-18 | +| [2.1.1](/releases/release-2.1.1.md) | 2018-12-12 | +| [2.1.0](/releases/release-2.1-ga.md) | 2018-11-30 | +| [2.0.9](/releases/release-2.0.9.md) | 2018-11-19 | +| [2.1.0-rc.5](/releases/release-2.1-rc.5.md) | 2018-11-12 | +| [2.1.0-rc.4](/releases/release-2.1-rc.4.md) | 2018-10-23 | +| [2.0.8](/releases/release-2.0.8.md) | 2018-10-16 | +| [2.1.0-rc.3](/releases/release-2.1-rc.3.md) | 2018-09-29 | +| [2.1.0-rc.2](/releases/release-2.1-rc.2.md) | 2018-09-14 | +| [2.0.7](/releases/release-2.0.7.md) | 2018-09-07 | +| [2.1.0-rc.1](/releases/release-2.1-rc.1.md) | 2018-08-24 | +| [2.0.6](/releases/release-2.0.6.md) | 2018-08-06 | +| [2.0.5](/releases/release-2.0.5.md) | 2018-07-06 | +| [2.1.0-beta](/releases/release-2.1-beta.md) | 2018-06-29 | +| [2.0.4](/releases/release-2.0.4.md) | 2018-06-15 | +| [2.0.3](/releases/release-2.0.3.md) | 2018-06-01 | +| [2.0.2](/releases/release-2.0.2.md) | 2018-05-21 | +| [2.0.1](/releases/release-2.0.1.md) | 2018-05-16 | +| [2.0.0](/releases/release-2.0-ga.md) | 2018-04-27 | +| [2.0.0-rc.5](/releases/release-2.0-rc.5.md) | 2018-04-17 | +| [2.0.0-rc.4](/releases/release-2.0-rc.4.md) | 2018-03-30 | +| [2.0.0-rc.3](/releases/release-2.0-rc.3.md) | 2018-03-23 | +| [2.0.0-rc.1](/releases/release-2.0-rc.1.md) | 2018-03-09 | +| [1.1.0-beta](/releases/release-1.1-beta.md) | 2018-02-24 | +| [1.0.8](/releases/release-1.0.8.md) | 2018-02-11 | +| [1.0.7](/releases/release-1.0.7.md) | 2018-01-22 | +| [1.1.0-alpha](/releases/release-1.1-alpha.md) | 2018-01-19 | +| [1.0.6](/releases/release-1.0.6.md) | 2018-01-08 | +| [1.0.5](/releases/release-1.0.5.md) | 2017-12-26 | +| [1.0.4](/releases/release-1.0.4.md) | 2017-12-11 | +| [1.0.3](/releases/release-1.0.3.md) | 2017-11-28 | +| [1.0.2](/releases/release-1.0.2.md) | 2017-11-13 | +| [1.0.1](/releases/release-1.0.1.md) | 2017-11-01 | +| [1.0.0](/releases/release-1.0-ga.md) | 2017-10-16 | +| [Pre-GA](/releases/release-pre-ga.md) | 2017-08-30 | +| [rc4](/releases/release-rc.4.md) | 2017-08-04 | +| [rc3](/releases/release-rc.3.md) | 2017-06-16 | +| [rc2](/releases/release-rc.2.md) | 2017-03-01 | +| [rc1](/releases/release-rc.1.md) | 2016-12-23 | \ No newline at end of file diff --git a/markdown-pages/en/tidb/master/upgrade-tidb-using-tiup.md b/markdown-pages/en/tidb/master/upgrade-tidb-using-tiup.md new file mode 100644 index 0000000..1fd6602 --- /dev/null +++ b/markdown-pages/en/tidb/master/upgrade-tidb-using-tiup.md @@ -0,0 +1,307 @@ +--- +title: Upgrade TiDB Using TiUP +summary: Learn how to upgrade TiDB using TiUP. +aliases: ['/docs/dev/upgrade-tidb-using-tiup/','/docs/dev/how-to/upgrade/using-tiup/','/tidb/dev/upgrade-tidb-using-tiup-offline','/docs/dev/upgrade-tidb-using-tiup-offline/'] +--- + +# Upgrade TiDB Using TiUP + +This document is targeted for the following upgrade paths: + +- Upgrade from TiDB 4.0 versions to TiDB 7.5. +- Upgrade from TiDB 5.0-5.4 versions to TiDB 7.5. +- Upgrade from TiDB 6.0-6.6 to TiDB 7.5. +- Upgrade from TiDB 7.0-7.4 to TiDB 7.5. + +> **Warning:** +> +> 1. You cannot upgrade TiFlash online from versions earlier than 5.3 to 5.3 or later. Instead, you must first stop all the TiFlash instances of the early version, and then upgrade the cluster offline. If other components (such as TiDB and TiKV) do not support an online upgrade, follow the instructions in warnings in [Online upgrade](#online-upgrade). +> 2. **DO NOT** run DDL statements during the upgrade process. Otherwise, the issue of undefined behavior might occur. +> 3. **DO NOT** upgrade a TiDB cluster when a DDL statement is being executed in the cluster (usually for the time-consuming DDL statements such as `ADD INDEX` and the column type changes). Before the upgrade, it is recommended to use the [`ADMIN SHOW DDL`](/sql-statements/sql-statement-admin-show-ddl.md) command to check whether the TiDB cluster has an ongoing DDL job. If the cluster has a DDL job, to upgrade the cluster, wait until the DDL execution is finished or use the [`ADMIN CANCEL DDL`](/sql-statements/sql-statement-admin-cancel-ddl.md) command to cancel the DDL job before you upgrade the cluster. +> +> If the TiDB version before upgrade is v7.1.0 or later, you can ignore the preceding warnings 2 and 3. For more information, see [TiDB Smooth Upgrade](/smooth-upgrade-tidb.md). + +> **Note:** +> +> - If your cluster to be upgraded is v3.1 or an earlier version (v3.0 or v2.1), the direct upgrade to v7.5.0 is not supported. You need to upgrade your cluster first to v4.0 and then to v7.5.0. +> - If your cluster to be upgraded is earlier than v6.2, the upgrade might get stuck when you upgrade the cluster to v6.2 or later versions in some scenarios. You can refer to [How to fix the issue](#how-to-fix-the-issue-that-the-upgrade-gets-stuck-when-upgrading-to-v620-or-later-versions). +> - TiDB nodes use the value of the [`server-version`](/tidb-configuration-file.md#server-version) configuration item to verify the current TiDB version. Therefore, to avoid unexpected behaviors, before upgrading the TiDB cluster, you need to set the value of `server-version` to empty or the real version of the current TiDB cluster. + +## Upgrade caveat + +- TiDB currently does not support version downgrade or rolling back to an earlier version after the upgrade. +- For the v4.0 cluster managed using TiDB Ansible, you need to import the cluster to TiUP (`tiup cluster`) for new management according to [Upgrade TiDB Using TiUP (v4.0)](https://docs.pingcap.com/tidb/v4.0/upgrade-tidb-using-tiup#import-tidb-ansible-and-the-inventoryini-configuration-to-tiup). Then you can upgrade the cluster to v7.5.0 according to this document. +- To update versions earlier than v3.0 to v7.5.0: + 1. Update this version to 3.0 using [TiDB Ansible](https://docs.pingcap.com/tidb/v3.0/upgrade-tidb-using-ansible). + 2. Use TiUP (`tiup cluster`) to import the TiDB Ansible configuration. + 3. Update the 3.0 version to 4.0 according to [Upgrade TiDB Using TiUP (v4.0)](https://docs.pingcap.com/tidb/v4.0/upgrade-tidb-using-tiup#import-tidb-ansible-and-the-inventoryini-configuration-to-tiup). + 4. Upgrade the cluster to v7.5.0 according to this document. +- Support upgrading the versions of TiDB Binlog, TiCDC, TiFlash, and other components. +- When upgrading TiFlash from versions earlier than v6.3.0 to v6.3.0 and later versions, note that the CPU must support the AVX2 instruction set under the Linux AMD64 architecture and the ARMv8 instruction set architecture under the Linux ARM64 architecture. For details, see the description in [v6.3.0 Release Notes](/releases/release-6.3.0.md#others). +- For detailed compatibility changes of different versions, see the [Release Notes](/releases/release-notes.md) of each version. Modify your cluster configuration according to the "Compatibility Changes" section of the corresponding release notes. +- For clusters that upgrade from versions earlier than v5.3 to v5.3 or later versions, the default deployed Prometheus will upgrade from v2.8.1 to v2.27.1. Prometheus v2.27.1 provides more features and fixes a security issue. Compared with v2.8.1, alert time representation in v2.27.1 is changed. For more details, see [Prometheus commit](https://github.com/prometheus/prometheus/commit/7646cbca328278585be15fa615e22f2a50b47d06) for more details. + +## Preparations + +This section introduces the preparation works needed before upgrading your TiDB cluster, including upgrading TiUP and the TiUP Cluster component. + +### Step 1: Review compatibility changes + +Review [the compatibility changes](/releases/release-7.6.0.md#compatibility-changes) in TiDB v7.6.0 release notes. If any changes affect your upgrade, take actions accordingly. + +### Step 2: Upgrade TiUP or TiUP offline mirror + +Before upgrading your TiDB cluster, you first need to upgrade TiUP or TiUP mirror. + +#### Upgrade TiUP and TiUP Cluster + +> **Note:** +> +> If the control machine of the cluster to upgrade cannot access `https://tiup-mirrors.pingcap.com`, skip this section and see [Upgrade TiUP offline mirror](#upgrade-tiup-offline-mirror). + +1. Upgrade the TiUP version. It is recommended that the TiUP version is `1.11.3` or later. + + ```shell + tiup update --self + tiup --version + ``` + +2. Upgrade the TiUP Cluster version. It is recommended that the TiUP Cluster version is `1.11.3` or later. + + ```shell + tiup update cluster + tiup cluster --version + ``` + +#### Upgrade TiUP offline mirror + +> **Note:** +> +> If the cluster to upgrade was deployed not using the offline method, skip this step. + +Refer to [Deploy a TiDB Cluster Using TiUP - Deploy TiUP offline](/production-deployment-using-tiup.md#deploy-tiup-offline) to download the TiUP mirror of the new version and upload it to the control machine. After executing `local_install.sh`, TiUP will complete the overwrite upgrade. + +```shell +tar xzvf tidb-community-server-${version}-linux-amd64.tar.gz +sh tidb-community-server-${version}-linux-amd64/local_install.sh +source /home/tidb/.bash_profile +``` + +After the overwrite upgrade, run the following command to merge the server and toolkit offline mirrors to the server directory: + +```bash +tar xf tidb-community-toolkit-${version}-linux-amd64.tar.gz +ls -ld tidb-community-server-${version}-linux-amd64 tidb-community-toolkit-${version}-linux-amd64 +cd tidb-community-server-${version}-linux-amd64/ +cp -rp keys ~/.tiup/ +tiup mirror merge ../tidb-community-toolkit-${version}-linux-amd64 +``` + +After merging the mirrors, run the following command to upgrade the TiUP Cluster component: + +```shell +tiup update cluster +``` + +Now, the offline mirror has been upgraded successfully. If an error occurs during TiUP operation after the overwriting, it might be that the `manifest` is not updated. You can try `rm -rf ~/.tiup/manifests/*` before running TiUP again. + +### Step 3: Edit TiUP topology configuration file + +> **Note:** +> +> Skip this step if one of the following situations applies: +> +> + You have not modified the configuration parameters of the original cluster. Or you have modified the configuration parameters using `tiup cluster` but no more modification is needed. +> + After the upgrade, you want to use v7.5.0's default parameter values for the unmodified configuration items. + +1. Enter the `vi` editing mode to edit the topology file: + + ```shell + tiup cluster edit-config + ``` + +2. Refer to the format of [topology](https://github.com/pingcap/tiup/blob/master/embed/examples/cluster/topology.example.yaml) configuration template and fill the parameters you want to modify in the `server_configs` section of the topology file. + +3. After the modification, enter : + w + q to save the change and exit the editing mode. Enter Y to confirm the change. + +> **Note:** +> +> Before you upgrade the cluster to v6.6.0, make sure that the parameters you have modified in v4.0 are compatible in v7.5.0. For details, see [TiKV Configuration File](/tikv-configuration-file.md). + +### Step 4: Check the DDL and backup status of the cluster + +To avoid undefined behaviors or other unexpected problems during the upgrade, it is recommended to check the following items before the upgrade. + +- Cluster DDLs: It is recommended to execute the [`ADMIN SHOW DDL`](/sql-statements/sql-statement-admin-show-ddl.md) statement to check whether there is an ongoing DDL job. If yes, wait for its execution or cancel it by executing the [`ADMIN CANCEL DDL`](/sql-statements/sql-statement-admin-cancel-ddl.md) statement before performing an upgrade. +- Cluster backup: It is recommended to execute the [`SHOW [BACKUPS|RESTORES]`](/sql-statements/sql-statement-show-backups.md) statement to check whether there is an ongoing backup or restore task in the cluster. If yes, wait for its completion before performing an upgrade. + +### Step 5: Check the health status of the current cluster + +To avoid the undefined behaviors or other issues during the upgrade, it is recommended to check the health status of Regions of the current cluster before the upgrade. To do that, you can use the `check` sub-command. + +```shell +tiup cluster check --cluster +``` + +After the command is executed, the "Region status" check result will be output. + ++ If the result is "All Regions are healthy", all Regions in the current cluster are healthy and you can continue the upgrade. ++ If the result is "Regions are not fully healthy: m miss-peer, n pending-peer" with the "Please fix unhealthy regions before other operations." prompt, some Regions in the current cluster are abnormal. You need to troubleshoot the anomalies until the check result becomes "All Regions are healthy". Then you can continue the upgrade. + +## Upgrade the TiDB cluster + +This section describes how to upgrade the TiDB cluster and verify the version after the upgrade. + +### Upgrade the TiDB cluster to a specified version + +You can upgrade your cluster in one of the two ways: online upgrade and offline upgrade. + +By default, TiUP Cluster upgrades the TiDB cluster using the online method, which means that the TiDB cluster can still provide services during the upgrade process. With the online method, the leaders are migrated one by one on each node before the upgrade and restart. Therefore, for a large-scale cluster, it takes a long time to complete the entire upgrade operation. + +If your application has a maintenance window for the database to be stopped for maintenance, you can use the offline upgrade method to quickly perform the upgrade operation. + +#### Online upgrade + +```shell +tiup cluster upgrade +``` + +For example, if you want to upgrade the cluster to v7.5.0: + +```shell +tiup cluster upgrade v7.5.0 +``` + +> **Note:** +> +> + An online upgrade upgrades all components one by one. During the upgrade of TiKV, all leaders in a TiKV instance are evicted before stopping the instance. The default timeout time is 5 minutes (300 seconds). The instance is directly stopped after this timeout time. +> +> + You can use the `--force` parameter to upgrade the cluster immediately without evicting the leader. However, the errors that occur during the upgrade will be ignored, which means that you are not notified of any upgrade failure. Therefore, use the `--force` parameter with caution. +> +> + To keep a stable performance, make sure that all leaders in a TiKV instance are evicted before stopping the instance. You can set `--transfer-timeout` to a larger value, for example, `--transfer-timeout 3600` (unit: second). +> +> + To upgrade TiFlash from versions earlier than 5.3 to 5.3 or later, you should stop TiFlash and then upgrade it. The following steps help you upgrade TiFlash without interrupting other components: +> 1. Stop the TiFlash instance: `tiup cluster stop -R tiflash` +> 2. Upgrade the TiDB cluster without restarting it (only updating the files): `tiup cluster upgrade --offline`, such as `tiup cluster upgrade v6.3.0 --offline` +> 3. Reload the TiDB cluster: `tiup cluster reload `. After the reload, the TiFlash instance is started and you do not need to manually start it. +> +> + Try to avoid creating a new clustered index table when you apply rolling updates to the clusters using TiDB Binlog. + +#### Specify the component version during upgrade + +Starting from tiup-cluster v1.14.0, you can specify certain components to a specific version during cluster upgrade. These components will remain at their fixed version in the subsequent upgrade unless you specify a different version. + +> **Note:** +> +> For components that share a version number, such as TiDB, TiKV, PD, and TiCDC, there are no complete tests to ensure that they work properly in a mixed-version deployment scenario. Ensure that you use this section only in test environments, or with the help of [technical support](/support.md). + +```shell +tiup cluster upgrade -h | grep "version string" + --alertmanager-version string Fix the version of alertmanager and no longer follows the cluster version. + --blackbox-exporter-version string Fix the version of blackbox-exporter and no longer follows the cluster version. + --cdc-version string Fix the version of cdc and no longer follows the cluster version. + --ignore-version-check Ignore checking if target version is bigger than current version. + --node-exporter-version string Fix the version of node-exporter and no longer follows the cluster version. + --pd-version string Fix the version of pd and no longer follows the cluster version. + --tidb-dashboard-version string Fix the version of tidb-dashboard and no longer follows the cluster version. + --tiflash-version string Fix the version of tiflash and no longer follows the cluster version. + --tikv-cdc-version string Fix the version of tikv-cdc and no longer follows the cluster version. + --tikv-version string Fix the version of tikv and no longer follows the cluster version. + --tiproxy-version string Fix the version of tiproxy and no longer follows the cluster version. +``` + +#### Offline upgrade + +1. Before the offline upgrade, you first need to stop the entire cluster. + + ```shell + tiup cluster stop + ``` + +2. Use the `upgrade` command with the `--offline` option to perform the offline upgrade. Fill in the name of your cluster for `` and the version to upgrade to for ``, such as `v7.5.0`. + + ```shell + tiup cluster upgrade --offline + ``` + +3. After the upgrade, the cluster will not be automatically restarted. You need to use the `start` command to restart it. + + ```shell + tiup cluster start + ``` + +### Verify the cluster version + +Execute the `display` command to view the latest cluster version `TiDB Version`: + +```shell +tiup cluster display +``` + +``` +Cluster type: tidb +Cluster name: +Cluster version: v7.5.0 +``` + +## FAQ + +This section describes common problems encountered when updating the TiDB cluster using TiUP. + +### If an error occurs and the upgrade is interrupted, how to resume the upgrade after fixing this error? + +Re-execute the `tiup cluster upgrade` command to resume the upgrade. The upgrade operation restarts the nodes that have been previously upgraded. If you do not want the upgraded nodes to be restarted, use the `replay` sub-command to retry the operation: + +1. Execute `tiup cluster audit` to see the operation records: + + ```shell + tiup cluster audit + ``` + + Find the failed upgrade operation record and keep the ID of this operation record. The ID is the `` value in the next step. + +2. Execute `tiup cluster replay ` to retry the corresponding operation: + + ```shell + tiup cluster replay + ``` + +### How to fix the issue that the upgrade gets stuck when upgrading to v6.2.0 or later versions? + +Starting from v6.2.0, TiDB enables the [concurrent DDL framework](/ddl-introduction.md#how-the-online-ddl-asynchronous-change-works-in-tidb) by default to execute concurrent DDLs. This framework changes the DDL job storage from a KV queue to a table queue. This change might cause the upgrade to get stuck in some scenarios. The following are some scenarios that might trigger this issue and the corresponding solutions: + +- Upgrade gets stuck due to plugin loading + + During the upgrade, loading certain plugins that require executing DDL statements might cause the upgrade to get stuck. + + **Solution**: avoid loading plugins during the upgrade. Instead, load plugins only after the upgrade is completed. + +- Upgrade gets stuck due to using the `kill -9` command for offline upgrade + + - Precautions: avoid using the `kill -9` command to perform the offline upgrade. If it is necessary, restart the new version TiDB node after 2 minutes. + - If the upgrade is already stuck, restart the affected TiDB node. If the issue has just occurred, it is recommended to restart the node after 2 minutes. + +- Upgrade gets stuck due to DDL Owner change + + In multi-instance scenarios, network or hardware failures might cause DDL Owner change. If there are unfinished DDL statements in the upgrade phase, the upgrade might get stuck. + + **Solution**: + + 1. Terminate the stuck TiDB node (avoid using `kill -9`). + 2. Restart the new version TiDB node. + +### The evict leader has waited too long during the upgrade. How to skip this step for a quick upgrade? + +You can specify `--force`. Then the processes of transferring PD leader and evicting TiKV leader are skipped during the upgrade. The cluster is directly restarted to update the version, which has a great impact on the cluster that runs online. In the following command, `` is the version to upgrade to, such as `v7.5.0`. + +```shell +tiup cluster upgrade --force +``` + +### How to update the version of tools such as pd-ctl after upgrading the TiDB cluster? + +You can upgrade the tool version by using TiUP to install the `ctl` component of the corresponding version: + +```shell +tiup install ctl:v7.5.0 +```