Bitbucket is a code hosting site with unlimited public and private repositories. We're also free for small teams!

Close
forked from https://launchpad.net/mysql-replication-listener.
---

The MySQL Replicant Library is a C++ library for reading MySQL
replication events, either by connecting to a server or by reading
from a file. To handle reading from a server, it includes a very
simple client.


Dependencies
------------

You need to have CMake version 2.8 or later and Boost version 1.35.0
or later since Asio is required.

To be able to run the unit tests, you have to have Google Test
installed. Google Test will be automatically installed if cmake is
called as:

   cmake . -DENABLE_DOWNLOADS=1


Directory structure
-------------------

    .
    |-- doc                 Documentation
    |-- examples            Examples
    |   `-- mysql2lucene    Example application replicating rows to SOLR
    |-- include             Include files
    |-- src                 Source files for library
    `-- tests               Unit test files and directories


Building
--------

To build the entire package, it is first necessary to run CMake to build all the makefiles.

        cmake .
        make -j4

Some of the examples are using third-party software, which can require
extra parameters to be given to CMake.

If you want to perform an out-of-source build, you can just create a
build directory and execute CMake there.

      mkdir build
      cd build
      cmake <source directory>
      make -j4


Building the mysql2lucene Example
---------------------------------

To build the mysql2lucene example, it is necessary to ensure that the
'FindCLucene.cmake' is in the CMAKE_MODULE_PATH, which on my machine
require me to write:

    cmake . -DCMAKE_MODULE_PATH:String=/usr/share/kde4/apps/cmake/modules

In addition, there is a bug in the packaging of CLucene on Ubuntu in
that the 'clucene-config.h' file is placed in '/usr/lib/CLucene' but
not in '/usr/include/CLucene', causing compiler failure when
attempting to use CLucene. The 'CMakeLists.txt' file hacks around this
by adding the libraries explicitly, but it seems unnecessary.


Configuring Server ID
---------------------

    export LIBREPLICATION_SERVER_ID=12345


Configuring TCP keepalive
-------------------------

    export LIBREPLICATION_TCP_KEEPALIVE=1
    export LIBREPLICATION_TCP_KEEPIDLE=15
    export LIBREPLICATION_TCP_KEEPINTVL=5
    export LIBREPLICATION_TCP_KEEPCNT=3

Recent activity

Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.