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
36 changes: 26 additions & 10 deletions faq/upgrade-faq.md
Original file line number Diff line number Diff line change
@@ -1,26 +1,42 @@
---
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.

If you explicitly specify the charset of a newly created table as UTF-8 in v2.1.0 or earlier versions, then you might fail to execute DDL operations after upgrading TiDB to v2.1.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.

Expand Down Expand Up @@ -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.

Expand Down Expand Up @@ -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.

Expand Down