build-xtrabackup-on-centos-aarch

Percona xtrabackup arm 版编译

xtrabackup 官方只提供了 x86 版本的安装包, 在 arm 环境上使用需要自己手动编译。这篇文档主要介绍在 CentOS arm 版上编译安装 xtrabackup。

X86 版本的安装方式可以参考这篇官方文档

安装编译工具

xtrabackup 编译需要使用 cmake3, 如果环境尚未安装 cmake3, 可以使用下面的命令来编译安装 cmake3

1
2
3
4
5
6
7
yum install wget
wget https://cmake.org/files/v3.12/cmake-3.12.3.tar.gz
tar zxvf cmake-3.*
cd cmake-3.*
./bootstrap --prefix=/usr/local
make -j$(nproc)
make install

命令执行完成后使用 cmake --version 检查安装是否成功. 输出下面的内容则代表完成了

1
2
3
cmake version 3.12.3

CMake suite maintained and supported by Kitware (kitware.com/cmake).

如果返回命令无法找到, 那么检查一下是否安装了老版本的 cmake, 这种情况下需要先卸载已有的 cmake 再安装.

另外 xtrabackup 编译需要 devtoolset-10-gcc devtoolset-10-gcc-c++ devtoolset-10-binutils, 这三个包通过下面的方式安装

1
2
sudo yum install centos-release-scl 
sudo yum install devtoolset-10-gcc devtoolset-10-gcc-c++ devtoolset-10-binutils

编译 xtrabackup

1. 从 git 源获取源代码

如果系统没有安装 git, 需要首先安装 git 工具

1
2
3
4
git clone https://github.com/percona/percona-xtrabackup.git
cd percona-xtrabackup
git checkout 8.0
git submodule update --init --recursive

2. 安装依赖

下面的包和工具都是编译 xtrabackup 所必须的

1
2
3
sudo yum install cmake openssl-devel libaio libaio-devel automake autoconf \
bison libtool ncurses-devel libgcrypt-devel libev-devel libcurl-devel zlib-devel \
zstd vim-common procps-ng-devel

3. 生成构建 pipeline

在这一步, 我们将使用 cmake 执行 CMakeList.txt 去生成构建流水线, 意思是一个用于编译代码的原生编译环境.

  1. 进入克隆的 Percona Xtrabackup 代码库

    1
    cd percona-xtrabackup
  2. 创建一个保存编译产物的文件夹, 然后进入其中

    1
    2
    mkdir build
    cd build
  3. 运行 cmake 或者 cmake3. 同时你需要使用下面的这些参数你需要保持一致

    1
    2
    cmake -DWITH_BOOST=PATH-TO-BOOST-LIBRARY -DDOWNLOAD_BOOST=ON \
    -DBUILD_CONFIG=xtrabackup_release -DWITH_MAN_PAGES=OFF -B ..

4. 编译安装

执行 make 命令

1
make

如果需要使用所有 CPU 线程参与编译来加快编译速度, 使用下面的命令

1
make -j$(nproc --all)

完成后, 安装 xtrabackup

1
make install

build-xtrabackup-on-centos-aarch
https://blog.zhangliangliang.cc/post/build-xtrabackup-on-centos-aarch.html
作者
Bobby Zhang
发布于
2023年8月1日
许可协议