作者:申砾

Loader 是什么

Loader是由 PingCAP 开发的数据导入工具,可以用于向 TiDB 中导入数据,也可以用于向 MySQL 中导入数据。本篇文章将详细介绍 Loader 的使用方法。

为什么我们要做这个东西

当数据量比较大的时候,如果用 mysqldump 这样的工具迁移数据会比较慢。我们尝试了 Percona 的 mydumper/myloader 套件,能够多线程导出和导入数据。在使用过程中,mydumper 问题不大,但是 myloader 由于缺乏出错重试、断点续传这样的功能,使用起来很不方便。所以我们开发了 loader,能够读取 mydumper 的输出数据文件,通过 mysql protocol 向 TiDB/MySQL 中导入数据。

Loader 有哪些优点

多线程导入
支持 mydumper 数据格式
出错重试
断点续导
通过 system variable 优化 TiDB 导入数据速度

使用方法

参数说明

1.jpg-47.2kB

配置文件

除了使用命令行参数外,还可以使用配置文件来配置,配置文件的格式如下:
t2.jpg-27.3kB

使用示例

通过命令行参数:

./bin/loader -d ./test -h 127.0.0.1 -u root -P 4000

或者使用配置文件 "config.toml":

./bin/loader -c=config.toml

注意事项

如果使用默认的 checkpoint 文件,在导完一个 database 数据后,请删除 loader.checkpoint 后再开始导入下一个 database。推荐每个数据库导入的时候,明确指定 checkpoint 文件名。

源码地址:https://github.com/pingcap/tidb


PingCAP
1.9k 声望4.9k 粉丝

PingCAP 是国内开源的新型分布式数据库公司,秉承开源是基础软件的未来这一理念,PingCAP 持续扩大社区影响力,致力于前沿技术领域的创新实现。其研发的分布式关系型数据库 TiDB 项目,具备「分布式强一致性事务...