Skip to content
tkatchev edited this page Mar 16, 2011 · 2 revisions

About

This is a library that allows any arbitrary C++ application to connect to a Mysql replication master and read/parse the replication binary logs.

In effect, any application can now act like a Mysql replication slave, without having to compile or link with any Mysql server code.

One important use-case for this library is for receiving changes in the master database in real-time, without having the store the master's data on the client server.

Usage

##Build requirements:##

For building the library, you will need:

  • g++

  • The standard mysql C client libraries. (libmysqlclient)

  • The headers of the boost libraries. (http://www.boost.org) At the minimum, you will need at least shared_ptr.hpp, function.hpp, any.hpp and bind.hpp.

  • You (likely) will need to review and edit the contents of Logging.h and SlaveStats.h These headers contain the compile-time configuration of the logging and monitoring subsystems. The provided defaults are sub-standard and an example only.

##Usage requirements:##

  • Requires Mysql 5.1.23 or above. Tested only with some of the 5.1 versions of mysql servers.

##Compiling:##

Edit Makefile to set the path of your boost includes and your build options; type make to build a static and a shared version of the library.

Review and edit Logging.h and SlaveStats.h to interface the library to your app's logging and monitoring subsystems.

Note: The enclosed Makefile is intended only as a demonstration, not a complete build solution.

##Using the library: ##

Please see the examples in test/.

#Credits#

(c) 2011, ZAO "Begun"

https://github.com/Begun/libslave

This library is licensed under the GNU LGPL. Please see the file LICENSE.

Clone this wiki locally