tokuhirom's Blog

mysql の binlog api を利用するための Perl Binding を作りました

mysql の binlog api をあつかうためのライブラリである libreplication というものがあるのですが、これの perl binding を開発しました。

https://github.com/tokuhirom/MySQL-BinLog
とりあえず、examples/basic-2.cpp でやっていることができるところまでつくっておきました。

バイナリログの内容を streaming で処理できるのがおもしろいです。

以下のような用途での応用が考えられるようです。夢がひろがりんぐですね。


libreplication のセットアップ方法については riywo さんの記事をごらんください。
http://blog.riywo.com/2012/07/08/133005


はまりポイントは、streaming 開始時に ROTATE_EVENT が発生して、最新のログをみにいかされるので、これを skip するために

$binlog->set_position(4);

としなくてはいけないことぐらいでしょうか。



主だったイベントをラップしてますが、まだ不十分なので、patches welcome です。



このブログがくわしいね。
http://intuitive-search.blogspot.jp/2011/07/binary-log-api-and-replication-listener.html