环境:aarch64/centos7.6 glibc-2.17
编译器:gcc version 5.5.0 (GCC)
官方参考文档:https://www.percona.com/doc/percona-xtrabackup/2.4/installation/compiling_xtrabackup.html
安装依赖
- yum install -y cmake gcc gcc-c++ libaio libaio-devel automake autoconf bison libtool ncurses-devel libgcrypt-devel libev-devel libcurl-devel vim-common
- boost-1.59.0.tar.gz放置到/home/actiontech/src/boost_1_59_0/,不需要解压
解压源码包
源码下载地址:https://www.percona.com/downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-2.4.5/source/tarball/percona-xtrabackup-2.4.5.tar.gz
下载到/usr/src并解压
开始编译
- 在源码目录下新建编译目录/usr/src/percona-xtrabackup-2.4.5/build
- cd /usr/src/percona-xtrabackup-2.4.5/build
- 执行“CC=/usr/local/gcc-5.5/bin/gcc CXX=/usr/local/gcc-5.5/bin/g++ cmake .. -DWITH_BOOST=/home/actiontech/src/boost_1_59_0 -DCMAKE_INSTALL_PREFIX=/opt/percona-xtrabackup-2.4.5 -DBUILD_CONFIG=xtrabackup_release -DWITH_MAN_PAGES=OFF
-
- 如果没有boost源码包,可使用参数-DDOWNLOAD_BOOST=1自动下载,-DWITH_BOOST指定boost源码保存的目录
- cmake过程如果发生错误,重新cmake前需要删除编译目录下的CMakeCache.txt文件
|
-
cmake成功,编译目录下生成Makefile
- make -j4 && make install
编译成功的xtrabackup被安装在/opt/percona-xtrabackup-2.4.5
踩坑记录
报错:
原因:当时使用了gcc7.3.1编译触发了xtrabackup的bug: https://jira.percona.com/browse/PXB-502axs
解决方案:
- 使用xtrabackup2.4.9,因为该bug在2.4.9修复
- 使用低版本的gcc5.5.0