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