6 releases (3 breaking)

0.4.0 Aug 22, 2022
0.3.2 Jan 18, 2022
0.3.1 Sep 1, 2020
0.3.0 May 6, 2020
0.1.0 Feb 16, 2019

#1553 in Parser implementations

29 downloads per month

ISC license

81KB
2K SLoC

mysql_binlog is a clean, idomatic Rust implementation of a MySQL binlog parser, including support for the JSONB type introduced in MySQL 5.7.

CI crates.io docs

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.

Dependencies

~2–3MB
~61K SLoC