diff --git a/faq/upgrade-faq.md b/faq/upgrade-faq.md index 21d6c89c8cee0..7bfda7791da4a 100644 --- a/faq/upgrade-faq.md +++ b/faq/upgrade-faq.md @@ -1,14 +1,30 @@ --- -title: FAQs After Upgrade -summary: Learn about the FAQs after upgrading TiDB. +title: Upgrade and After Upgrade FAQs +summary: Learn about some FAQs and the solutions during and after upgrading TiDB. aliases: ['/docs/stable/faq/upgrade-faq/','/docs/v4.0/faq/upgrade-faq/','/docs/stable/faq/upgrade/'] --- -# FAQs After Upgrade +# Upgrade and After Upgrade FAQs -This document lists some FAQs and their solutions after you upgrade TiDB. +This document introduces some FAQs and their solutions when or after you upgrade TiDB. -## The character set (charset) errors when executing DDL operations +## Upgrade FAQs + +This section lists some FAQs and their solutions when you upgrade TiDB. + +### What are the effects of rolling updates? + +When you apply rolling updates to the TiDB services, the running application is not affected. You need to configure the minimum cluster topology (TiDB \* 2, PD \* 3, TiKV \* 3). If the Pump or Drainer service is involved in the cluster, it is recommended to stop Drainer before rolling updates. When you upgrade TiDB, Pump is also upgraded. + +### How to upgrade TiDB using the binary? + +It is not recommended to deploy TiDB using the binary. The TiDB support for upgrading using Binary is not as friendly as using TiUP. It is recommended to [deploy TiDB using TiUP](/production-deployment-using-tiup.md). + +## After upgrade FAQs + +This section lists some FAQs and their solutions after you upgrade TiDB. + +### The character set (charset) errors when executing DDL operations In v2.1.0 and earlier versions (including all versions of v2.0), the character set of TiDB is UTF-8 by default. But starting from v2.1.1, the default character set has been changed into UTF8MB4. @@ -16,11 +32,11 @@ If you explicitly specify the charset of a newly created table as UTF-8 in v2.1. To avoid this issue, you need to pay attention to: -- Point #1: before v2.1.3, TiDB does not support modifying the charset of the column. Therefore, when you execute DDL operations, you need to make sure that the charset of the new column is consistent with that of the original column. +- Before v2.1.3, TiDB does not support modifying the charset of the column. Therefore, when you execute DDL operations, you need to make sure that the charset of the new column is consistent with that of the original column. -- Point #2: before v2.1.3, even if the charset of the column is different from that of the table, `show create table` does not show the charset of the column. But as shown in the following example, you can view it by obtaining the metadata of the table through the HTTP API. +- Before v2.1.3, even if the charset of the column is different from that of the table, `show create table` does not show the charset of the column. But as shown in the following example, you can view it by obtaining the metadata of the table through the HTTP API. -### Issue #1: `unsupported modify column charset utf8mb4 not match origin utf8` +#### `unsupported modify column charset utf8mb4 not match origin utf8` - Before upgrading, the following operations are executed in v2.1.0 and earlier versions. @@ -119,7 +135,7 @@ alter table t change column a a varchar(22) character set utf8; } ``` -### Issue #2: `unsupported modify charset from utf8mb4 to utf8` +#### `unsupported modify charset from utf8mb4 to utf8` - Before upgrading, the following operations are executed in v2.1.1 and v2.1.2. @@ -200,7 +216,7 @@ Solution: alter table t change column a a varchar(20) character set utf8mb4; ``` -### Issue #3: `ERROR 1366 (HY000): incorrect utf8 value f09f8c80(🌀) for column a` +#### `ERROR 1366 (HY000): incorrect utf8 value f09f8c80(🌀) for column a` In TiDB v2.1.1 and earlier versions, if the charset is UTF-8, there is no UTF-8 Unicode encoding check on the inserted 4-byte data. But in v2.1.2 and the later versions, this check is added.