🥟 Dumpling
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.
Features
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
Building
- Install Go 1.13 or above
- Run
make buildto compile. The output is inbin/dumpling. - Run
make testto run the unit tests. - Run
make integration_testto run integration tests. For integration test:
- The following executables must be copied or generated or linked into these locations,
sync_diff_inspectorcan be downloaded from tidb-enterprise-tools-latest-linux-amd64,tidb-servercan be downloaded from tidb-master-linux-amd64, andtidb-lightningcan be downloaded from tidb-toolkit-latest-linux-amd64:bin/sync_diff_inspectorbin/tidb-serverbin/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.
License
Dumpling is under the Apache 2.0 license. See the LICENSE file for details.

