Skip to content

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

Stars

60 stars

Watchers

7 watching

Forks

Releases

Packages

Contributors

Languages