TiDB-Binlog is a tool used to collect TiDB's binary logs with the following features:
Synchronize data from the TiDB cluster to heterogeneous databases.
Real-time backup and recovery
Backup the TiDB cluster into the Dump file and it can be used for recovery.
Multiple output format
Support MySQL, Dump file, etc.
Replay from any history point.
Pump is a daemon that receives real-time binlogs from tidb-server and writes in sequential disk files synchronously.
Drainer collects binlogs from each Pump in the cluster, transforms binlogs to various dialects of SQL, and applies to the downstream database or filesystem.
How to build
To check the code style and build binaries, you can simply run:
make build # build all components
If you only want to build binaries, you can run:
make pump # build pump make drainer # build drainer
When TiDB-Binlog is built successfully, you can find the binary in the
Run all tests, including unit test and integration test
See tests for how to execute and add integration tests.
The best way to install TiDB-Binlog is via TiDB-Binlog-Ansible
Here's a tutorial to experiment with TiDB-Binlog (not for production use).
Contributions are welcomed and greatly appreciated. See CONTRIBUTING.md for details on submitting patches and the contribution workflow.
TiDB-Binlog is under the Apache 2.0 license. See the LICENSE file for details.