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.
Incompatibility with foreign key CASCADE operations
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 CASCADE or ON UPDATE CASCADE behavior by default, and enabling foreign_key_checks via a DM task session variable is not recommended. If your workload relies on cascades, do not assume that cascade effects will be replicated.
MariaDB notes
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 configuration in 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.
Target databases
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.