Percona supports Percona Xtradb Cluster 5.7 on CentOS 6 and CentOS 7, but not CentOS 5.
You can install the RPMs or tarball binary, but on start will see various package dependencies that can’t be resolved on openssl.0.10 and others.
So your options are:
- upgrade your OS first to CentOS 6 or 7 64-bit first (recommended)
- downgrade and install Percona Xtradb Cluster 5.6 with
yum install Percona-XtraDB-Cluster-server-56
- not recommended, but if you’re stubborn about clinging to CentOS 5.x and you’re a programmer, you can install Percona Xtradb Cluster 5.7 from source. You will need (at least) cmake 2.8.2+, boost 1.59+, and recommended are gcc 4.4 or clang 3.3.
Here’s the build instructions that compiled for me with gcc 4.1.2:
1. So download and install cmake 2.8.2 or higher from source first:
yum remove cmake wget --no-check-certificate https://cmake.org/files/v3.7/cmake-3.7.1.tar.gz tar zxvf - < cmake-3.7.1.tar.gz cd cmake-3.7.1 ./bootstrap && make && make install cd ..
2. Download and install boost 1.62 from source:
yum remove boost wget --no-check-certificate https://sourceforge.net/projects/boost/files/latest/download?source=files yum install p7zip 7za x boost_1_62_0.7z cd boost_1_62_0 ./bootstrap.sh --prefix=/usr/local ./b2 install cd ..
3. Build Percona-XtraDB-Cluster-5.7 source like this:
wget --no-check-certificate https://www.percona.com/downloads/Percona-Server-5.7/LATEST/source/ cd Percona-XtraDB-Cluster-5.7.16-27.19 # remove new gcc 4.4 flag -Wvla: # -Wvla # Warn if variable length array is used in the code. -Wno-vla will prevent the -pedantic warning of the variable length array. perl -i.orig -p -e 's/-Wvla//g' `find . -name maintainer.cmake` cmake . -DMYSQL_DATADIR=/var/lib/mysql mv boost_1_59_0 /tmp # fix the boost and gcc version errors. Just replace with your versions. vi cmake/os/Linux.cmake +27 vi cmake/boost.cmake +265 # insert 2 "out-of-scope" macros os_compare_and_swap_thread_id and os_compare_and_swap from storage/innobase/include/os0atomic.h into these 2 source files: vi storage/innobase/lock/lock0lock.cc +1904 vi storage/innobase/trx/trx0trx.cc +204 # define os_compare_and_swap(ptr, old_val, new_val) \ __sync_bool_compare_and_swap(ptr, old_val, new_val) # define os_compare_and_swap_thread_id(ptr, old_val, new_val) \ os_compare_and_swap(ptr, old_val, new_val) make -j 8 make test # the new server is located at sql/mysqld make install # note that 5.7 has a new grants schema, so your old database won't work until upgraded # in /etc/init.d/mysql, bindir=/usr/local