Skip to content

zcoder/libslave

 
 

Repository files navigation


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 the 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. And You will use a cmake by your shell:

mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=PATH_TO_INSTALL
make && make install

Support same without static lib -DENABLE_STATIC=OFF.


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/'. 

You can find the programmer's API documentation on our github wiki
pages, see https://github.com/Begun/libslave.


CREDITS
-------------------------------------------------------------------

(c) 2011, ZAO "Begun"

https://github.com/Begun/libslave

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

About

A standalone mysql replication client library, embeddable into your C++ application

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published