🥟 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.