BusterZR 2019-06-21
作者:申砾
Loader是由 PingCAP 开发的数据导入工具,可以用于向 TiDB 中导入数据,也可以用于向 MySQL 中导入数据。本篇文章将详细介绍 Loader 的使用方法。
当数据量比较大的时候,如果用 mysqldump 这样的工具迁移数据会比较慢。我们尝试了 Percona 的 mydumper/myloader 套件,能够多线程导出和导入数据。在使用过程中,mydumper 问题不大,但是 myloader 由于缺乏出错重试、断点续传这样的功能,使用起来很不方便。所以我们开发了 loader,能够读取 mydumper 的输出数据文件,通过 mysql protocol 向 TiDB/MySQL 中导入数据。
多线程导入
支持 mydumper 数据格式
出错重试
断点续导
通过 system variable 优化 TiDB 导入数据速度
除了使用命令行参数外,还可以使用配置文件来配置,配置文件的格式如下:
通过命令行参数:
./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 文件名。