| title | summary |
|---|---|
Compatibility Catalog of TiDB Data Migration |
This document describes the compatibility of TiDB Data Migration (DM) with upstream and downstream databases. |
DM supports migrating data from different sources to TiDB clusters. Based on the data source type, DM has four compatibility levels:
- Generally available (GA): The application scenario has been verified and passed GA testing.
- Experimental: Common application scenarios have been verified, but coverage is limited or involves only a small number of users. Occasional issues are possible, so you need to verify compatibility in your specific scenario.
- Not tested: DM aims to be compatible with the MySQL protocol and binlog. However, not all MySQL forks or versions are included in the DM test matrix. If a fork or version uses MySQL-compatible protocols and binlog formats, it is expected to work, but you must verify compatibility in your own environment before use.
- Incompatible: DM has known blocking issues, so production use is not recommended.
| Data source | Compatibility level | Note |
|---|---|---|
| MySQL ≤ 5.5 | Not tested | |
| MySQL 5.6 | GA | |
| MySQL 5.7 | GA | |
| MySQL 8.0 | GA | Does not support binlog transaction compression Transaction_payload_event. |
| MySQL 8.1 ~ 8.3 | Not tested | |
| MySQL 8.4 | Incompatible | For more information, see DM Issue #11020. |
| MySQL 9.x | Not tested | |
| MariaDB < 10.1.2 | Incompatible | Incompatible with binlog of the time type. |
| MariaDB 10.1.2 ~ 10.5.10 | Experimental | |
| MariaDB > 10.5.10 | Not tested | Expected to work in most cases after bypassing the precheck. See MariaDB notes. |
- DM creates foreign key constraints on the target, but they are not enforced while applying transactions because DM sets the session variable
foreign_key_checks=OFF. - DM does not support
ON DELETE CASCADEorON UPDATE CASCADEbehavior by default, and enablingforeign_key_checksvia a DM task session variable is not recommended. If your workload relies on cascades, do not assume that cascade effects will be replicated.
- For MariaDB 10.5.11 and later, the DM precheck fails due to privilege name changes (for example,
BINLOG MONITOR,REPLICATION SLAVE ADMIN,REPLICATION MASTER ADMIN). The error appears as[code=26005] fail to check synchronization configurationin the replication privilege, dump privilege, and dump connection number checkers. - You can bypass the precheck by adding
ignore-checking-items: ["all"]in the DM task. See DM precheck for details.
Warning:
DM v5.3.0 is not recommended. Enabling GTID replication without relay log in DM v5.3.0 might cause data replication to fail, although the probability is low.
| Target database | Compatibility level | DM version |
|---|---|---|
| TiDB 8.x | GA | ≥ 5.3.1 |
| TiDB 7.x | GA | ≥ 5.3.1 |
| TiDB 6.x | GA | ≥ 5.3.1 |
| TiDB 5.4 | GA | ≥ 5.3.1 |
| TiDB 5.3 | GA | ≥ 5.3.1 |
| TiDB 5.2 | GA | ≥ 2.0.7, recommended: 5.4 |
| TiDB 5.1 | GA | ≥ 2.0.4, recommended: 5.4 |
| TiDB 5.0 | GA | ≥ 2.0.4, recommended: 5.4 |
| TiDB 4.x | GA | ≥ 2.0.1, recommended: 2.0.7 |
| TiDB 3.x | GA | ≥ 2.0.1, recommended: 2.0.7 |
| MySQL | Experimental | |
| MariaDB | Experimental |