ZongJi
A MySQL binlog listener running on Node.js.
ZongJi (踪迹) is pronounced as zōng jì
in Chinese.
Work In Progress
Not all the data types in Mysql are supported, I will keep working on that.
Rewrite
Since v0.2.0, The native part(which is written in C++) has been dropped. It is now a pure JS implementation based on node-mysql, or you can say it is a patch on node-mysql
.
Prerequisite
-
Node.js v0.10+
-
enable MySQL binlog in my.cnf
, restart MySQL server after making the changes.
From MySQL 5.6, binlog checksum is enabled by default. Zongji can work with it, but it doesn't really verify it.
# binlog config
server-id = 1
log_bin = /usr/local/var/log/mysql/mysql-bin.log
binlog_do_db = employees
expire_logs_days = 10
max_binlog_size = 100M
#Very important if you want to receive write, update and delete row events
binlog_format = row
-
create an account with replication privileges, e.g. given privileges to account 'zongji'
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'zongji'@'localhost'
Reference
I learnt many things from following resources while making ZongJi.
License
MIT