数据迁移概述

本文档介绍支持从哪些路径将数据迁移到 TiDB,包括从 MySQL 迁移到 TiDB 和从 CSV/SQL 文件迁移到 TiDB。

从 MySQL 迁移到 TiDB

目前推荐使用以下两种方式将 MySQL 数据迁移到 TiDB。

使用 Mydumper 和 TiDB Lightning 迁移全量数据

适合场景

适合 MySQL 全量数据的大小大于 1TB 的场景。该方案只能迁移全量数据,如果需要继续同步增量数据,需要再使用 TiDB Data Migration (DM) 创建增量同步任务。

迁移方法

使用 Mydumper 导出 MySQL 的全量数据,再使用 TiDB Lightning 将全量数据导入到 TiDB,详细信息可参考从 Mydumper 文件迁移

使用 DM 迁移数据

适合场景

适合迁移 MySQL 全量数据并同步增量数据的场景,且全量数据的大小小于 1TB。如果全量数据的大小大于 1TB,建议使用 Mydumper 和 TiDB Lightning 导入全量数据后,再使用 DM 同步增量数据。

迁移方法

DM 支持将 MySQL 全量数据迁移到 TiDB,并同步 MySQL 的增量数据到 TiDB,详细信息可参考使用 DM 工具从 Amazon Aurora MySQL 迁移

从文件迁移到 TiDB

支持通过 CSV 和 SQL 两种格式文件将数据迁移到 TiDB。

从 CSV 文件迁移到 TiDB

适合场景

适合将不兼容 MySQL 协议的异构数据库的数据迁移到 TiDB。

迁移方法

将全量数据导出到 CSV 格式的文件中,将 CSV 文件导入到 TiDB 有以下两种方法:

  • 使用 TiDB Lightning 将 CSV 格式的数据导入到 TiDB

    TiDB Lightning 导入速度快,适合 CSV 文件数据量较大的场景。详细信息可参考从 CSV 文件迁移至 TiDB

  • 使用 LOAD DATA 语句将 CSV 格式的数据导入到 TiDB

    在 TiDB 中执行 LOAD DATA SQL 语句导入 CSV 格式的数据,这种导入方法使用比较方便,但是如果在导入过程中出现错误或者中断,需要人工介入,检查数据的一致性和完整性,因此不建议在生产环境中使用。详细信息可参考 LOAD DATA

从 SQL 文件迁移到 TiDB

该部分内容与使用 Mydumper 和 TiDB Lightning 迁移全量数据相同。