Dumpling is a tool and a Go library for creating SQL dump from a MySQL-compatible database.
It is intended to replace mysqldump
and mydumper
when targeting TiDB.
You may read the design document, English user guide and 中文使用手册 for details.
Dumpling is currently in early development stage, and most features are incomplete. Contributions are welcomed!
- SQL dump is split into multiple files (like
mydumper
) for easy management. - Export multiple tables in parallel to speed up execution.
- Multiple output formats: SQL, CSV, ...
- Write to cloud storage (S3, GCS) natively
- Advanced table filtering
Any questions? Let's discuss in #sig-migrate in Slack!
- Install Go 1.13 or above
- Run
make build
to compile. The output is inbin/dumpling
. - Run
make test
to run the unit tests. - Run
make integration_test
to run integration tests. For integration test:
- The following executables must be copied or generated or linked into these locations,
sync_diff_inspector
can be downloaded from tidb-enterprise-tools-latest-linux-amd64,tidb-server
can be downloaded from tidb-master-linux-amd64, andtidb-lightning
can be downloaded from tidb-toolkit-latest-linux-amd64:bin/sync_diff_inspector
bin/tidb-server
bin/tidb-lightning
- The following programs must be installed:
mysql
(the CLI client)
- There must be a local mysql server listening on
127.0.0.1:3306
, and an active user with no password that can be connected through this TCP address.
Dumpling is under the Apache 2.0 license. See the LICENSE file for details.