Compiling and Installing from Source Code

The source code is available from the Percona XtraBackup Github project. The easiest way to get the code is with git clone and switch to the desired release branch, such as the following:

$ git clone https://github.com/percona/percona-xtrabackup.git
$ cd percona-xtrabackup
$ git checkout 2.2

You should then have a directory named after the release you branched, such as percona-xtrabackup.

Compiling on Linux


The following packages and tools must be installed to compile Percona XtraBackup from source. These might vary from system to system.

In Debian-based distributions, you need to:

$ apt-get install build-essential flex bison automake autoconf \
   libtool cmake libaio-dev mysql-client libncurses-dev zlib1g-dev \

In RPM-based distributions, you need to:

$ yum install cmake gcc gcc-c++ libaio libaio-devel automake autoconf \
  bison libtool ncurses-devel libgcrypt-devel libev-devel

Compiling with CMake

At the base directory of the source code tree, if you execute:

$ cmake -DBUILD_CONFIG=xtrabackup_release -DWITH_MAN_PAGES=OFF && make -j4

and you go for a coffee, at your return Percona XtraBackup will be ready to be used.


You can build Percona XtraBackup with man pages but this requires python-sphinx package which isn’t available from that main repositories for every distribution. If you installed the python-sphinx package you remove the -DWITH_MAN_PAGES=OFF from previous command.


The following command:

$ make install

will install all Percona XtraBackup binaries, the innobackupex script and tests to /usr/local/xtrabackup. You can override this either with:

make DESTDIR=... install

or by changing the installation layout with: