https://github.com/easypost/rust-mysql-binlog
Rust implementation of the MySQL binlog format
https://github.com/easypost/rust-mysql-binlog
Last synced: 6 months ago
JSON representation
Rust implementation of the MySQL binlog format
- Host: GitHub
- URL: https://github.com/easypost/rust-mysql-binlog
- Owner: EasyPost
- License: isc
- Created: 2019-02-15T02:03:54.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2022-12-08T05:24:59.000Z (about 3 years ago)
- Last Synced: 2025-06-15T18:05:31.580Z (8 months ago)
- Language: Rust
- Size: 70.3 KB
- Stars: 106
- Watchers: 10
- Forks: 18
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.txt
Awesome Lists containing this project
README
`mysql_binlog` is a clean, idomatic Rust implementation of a MySQL binlog parser, including support for the JSONB type introduced in MySQL 5.7.
[](https://github.com/EasyPost/rust-mysql-binlog/actions?query=workflow%3ACI)
[](https://crates.io/crates/mysql_binlog)
[](https://docs.rs/mysql_binlog)
Its primary purpose is handling row-based logging messages, but it has rudimentary support for older statement-based replication. It's been tested against Percona XtraDB (MySQL) 5.6 and 5.7.
This library seeks to be competitive with `mysqlbinlog` at time-to-parse a full binlog file, and is already several orders of magnitude faster than `go-mysql`, `python-mysql-replication`, or Ruby's `mysql_binlog`. All interesting datatypes are serializable using Serde, so it's easy to hook into other data processing flows.