TiDB Data Migration 简介

    • 与 TiDB 同样保持 MySQL 兼容性。高度兼容 MySQL 5.7 协议、MySQL 5.7 常用的功能及语法。
    • 支持 DML & DDL 事件同步。支持解析和同步 binlog 中的 DML 和 DDL 事件。
    • 内置多种过滤器以灵活适应不同场景。支持以预定义事件类型、正则表达式、SQL 表达式等多种方式在数据同步过程中对 MySQL binlog 事件进行过滤。
    • 集中管理。DM 支持上千个节点的集群规模,可同时运行并集中管理大量数据迁移同步任务。
    • 对第三方 Online Schema Change 工具变更过程的同步优化。在 MySQL 生态中,gh-ost 与 pt-osc 等工具被广泛使用,DM 对其变更过程进行了特殊的优化,以避免对不必要的中间数据进行迁移。详细信息可参考 。
    • 高可用。支持迁移任务在不同节点自由调度,少量工作节点宕机并不会影响进行中的任务。

    快速安装

    在使用 DM 工具之前,需了解以下限制:

    • 数据库版本要求

      • MySQL 版本 5.5 ~ 5.7

      • MySQL 版本 = 8.0 (实验特性)

      • MariaDB 版本 >= 10.1.2 (实验特性)

        如果上游 MySQL/MariaDB servers 间构成主从复制结构,则需要 MySQL 版本高于 5.7.1 或者 MariaDB 版本等于或高于 10.1.3。

    • DDL 语法兼容性限制

      • DM 遇到不兼容的 DDL 语句时会报错。要解决此报错,需要使用 dmctl 手动处理,要么跳过该 DDL 语句,要么用指定的 DDL 语句来替换它。详见如何处理不兼容的 DDL 语句

      • DM 不会将视图的 DDL 语句同步到下游的 TiDB 集群,也不会将针对视图的 DML 语句同步到下游。在该场景下,建议用户在下游 TiDB 集群中自行创建视图。

    • GBK 字符集兼容性限制

      • DM 在 v5.4.0 之前不支持将 的表迁移到 TiDB。

    Contributing

    您可以通过在线文档了解和使用 DM,如果您遇到无法解决的问题,可以选择以下途径之一联系我们。

    License

    DM 遵循 Apache 2.0 协议,在 LICENSE 了解更多信息。

    在 v5.4 之前,DM 工具的文档独立于 TiDB 文档。要访问这些早期版本的 DM 文档,请点击以下链接:

    关于 Data Migration - 图2

    注意

    • 在较早版本中(v1.0 和 v2.0),DM 采用独立于 TiDB 的版本号。从 DM v5.3 起,DM 采用与 TiDB 相同的版本号。DM v2.0 的下一个版本为 DM v5.3。DM v2.0 到 v5.3 无兼容性变更,升级过程与正常升级无差异。

    要快速了解 DM 的原理架构、适用场景,建议先观看下面的培训视频。注意本视频只作为学习参考,具体操作步骤和最新功能,请以文档内容为准。