TiDB Data Migration 兼容性目录
TiDB Data Migration (DM) 数据迁移工具可以将数据从不同类型的数据源迁移到 TiDB 集群。针对各种数据源类型,DM 定义了以下四种兼容性级别:
- 正式支持 (GA):该场景已经过验证,并且通过了完整的测试流程。
- 实验支持:常见的应用场景已验证,但覆盖范围有限,或仅涉及少量用户。可能会偶发问题,因此需要在你的具体场景中验证兼容性。
- 未测试:DM 尽量保证兼容 MySQL 协议和 binlog,但并非所有 MySQL 分支或版本都包含在 DM 的测试矩阵中。如果某个分支或版本使用了与 MySQL 兼容的协议和 binlog 格式,理论上应能正常工作,但在使用前必须在你自己的环境中验证兼容性。
- 不兼容:DM 存在已知不兼容的情况,不建议在生产环境中使用。
数据源
与外键 CASCADE 操作的不兼容性
- DM 会在目标端创建外键约束,但在应用事务时不会强制执行,因为 DM 设置了会话变量
foreign_key_checks=OFF。 - DM 默认不支持
ON DELETE CASCADE和ON UPDATE CASCADE行为,并且不推荐通过 DM 任务会话变量启用foreign_key_checks。如果你的负载依赖于级联操作,不要假设级联效果会被复制。
MariaDB 说明
- 对于 MariaDB 10.5.11 及更高版本,由于权限名称发生变化(例如
BINLOG MONITOR、REPLICATION SLAVE ADMIN、REPLICATION MASTER ADMIN),DM 前置检查会失败。报错信息显示为[code=26005] fail to check synchronization configuration,出现在复制权限、导出权限和导出连接数检查中。 - 你可以通过在 DM 任务中添加
ignore-checking-items: ["all"]来绕过前置检查。详情参见 DM 前置检查。