What are the methods for upgrading TiDB? How to minimize cutover windows and business impact to achieve a smooth upgrade?

Note:
This topic has been translated from a Chinese forum by GPT and might contain errors.

Original topic: TiDB升级方法有哪些?如何尽可能减少割接窗口、业务影响等以达到平滑升级的目的

| username: alfred

【TiDB Usage Environment】Production\Test Environment\POC
【TiDB Version】
【Encountered Issue】
【Reproduction Path】What operations were performed that caused the issue
【Issue Phenomenon and Impact】

| username: Kongdom | Original post link

There are mainly two types: online upgrade and offline upgrade

| username: buddyyuan | Original post link

Reduce the cutover window.
You need to use real-time synchronization tools, which can be implemented using TiCDC or the Binlog component.

Regarding business impact, it is recommended to disconnect after synchronization is complete and conduct thorough functional and performance testing. Ideally, production traffic can be replayed directly in the test environment. By comparing the monitoring of production and testing, you can see where the gaps are.

For specific SQL, you can check the dashboard for slow query analysis or SQL statement analysis.
There are many methods, but it requires carefulness and patience.

| username: alfred | Original post link

Even without downtime, it should be done during off-peak business hours, right?

| username: Kongdom | Original post link

Yes, but the cluster needs to be large enough. If it is a single-node cluster, upgrading without downtime will affect the business.