[TiDB Usage Environment] Testing
[TiDB Version] 4.0.11
[Background]
The online TiDB 4.0.11 is deployed using a company-customized Ansible script, which is basically modified according to the tidb-ansible-4.0.9 method. This time, we want to upgrade TiDB to version 6.1.2 using tiup. An error occurred when bundling to tiup.
[Reproduction Path] Using the command tiup cluster import -d /home/tidb/tidb-ansible will definitely cause an error.
[Encountered Problem: Problem Phenomenon and Impact]
The operations are as follows:
Since the deployment was done using the standard tidb-ansible-4.0.9 script, I first roughly matched the current environment to the 4.0.9 ansible script deployment (the data directories for pd and tikv were not changed, not sure why renaming the directories would cause the service to fail to start, but it doesn’t seem important at the moment).
Using tiup cluster import -d /home/tidb/tidb-ansible results in an error, please see screenshot 1 for details.
Encountered Problems:
Tiup import failed, unable to proceed with subsequent steps, the error message is unclear.
[Resource Configuration]
[Attachments: Screenshots/Logs/Monitoring]
Renaming directories can cause inconsistencies in the information recorded in tidb-ansible and may result in errors.
In fact, it is best to follow the official practices for tool migration. If there are various modifications, it may lead to some issues, and these issues can be difficult to resolve.
Currently, it is recommended to use tiup to create a new TiDB cluster and migrate the data over, which will be simpler.
Thank you. Do you have any good solutions for data migration? Since the version is relatively old (4.0.11), we haven’t tried TiCDC yet. It seems that TiCDC is only available from version 5.0 onwards.
May I ask, what is Binlong’s solution? I haven’t encountered it before. Since the online environment doesn’t have TiDB installed and is directly using TiKV, both dumping and BR cannot be used, which I have tried before. Also, I want to ask, is it certain that TiCDC cannot be used on relatively older versions?
The binlog solution requires TiDB, and the capability has been available since version 3.X, so version 4.X is more stable. However, due to the single point of failure issue, TiCDC was used as a replacement in version 5.X.
For a pure TiKV cluster, you would need to write your own functionality to store data… It seems there are no other good solutions.
May I ask if it is possible to deploy a TiDB in a pure TiKV cluster and then use the binlog solution you mentioned? The data in the pure TiKV cluster is written by clients using go-client, and the data volume is very large.
Thank you. To confirm with you again, as I mentioned, using the pure TiKV method, BR, TiCDC, Binlog, and Dumping cannot perform similar data migration or backup tasks. Even if TiDB is deployed, if it does not use the standard SQL protocol, it cannot be used, right?