麒麟系统V10 arm版部署Xtrabackup8

麒麟系统V10 arm版部署Xtrabackup8🌵


搭建好MySQL或主从复制后,需要配置备份策略。可以设置逻辑备份,也可以设置物理备份。

ARM架构只能编译安装percona-xtrabackup。

官方文档:https://docs.percona.com/percona-xtrabackup/8.0/compile-xtrabackup.html#2-installation-prerequisites

麒麟V10系统信息:

复制代码
[root@localhost ~]# cat /etc/os-release 
NAME="Kylin Linux Advanced Server"
VERSION="V10 (Sword)"
ID="kylin"
VERSION_ID="V10"
PRETTY_NAME="Kylin Linux Advanced Server V10 (Sword)"
ANSI_COLOR="0;31"

[root@localhost ~]# uname -a
Linux iZ2zehq1ipv0p99b58g8k7Z 4.19.90-25.23.v2101.ky10.aarch64 #1 SMP Wed Jan 4 09:57:28 CST 2023 aarch64 aarch64 aarch64 GNU/Linux

1. 下载Xtrabackup

1.1 安装XtraBackuo工具:

复制代码
[root@localhost ~]# wget https://downloads.percona.com/downloads/Percona-XtraBackup-8.0/Percona-XtraBackup-8.0.35-34/source/tarball/percona-xtrabackup-8.0.35-34.tar.gz

1.2 安装依赖

复制代码
[root@localhost ~]#  yum install -y cmake make gcc-c++ libtool bison \
    openssl-devel libcurl-devel ncurses-devel readline-devel \
    libaio-devel numactl-devel libev-devel libtirpc-devel libudev-devel \
    zlib-devel libzstd-devel lz4-devel libxml2-devel libidn-devel libicu-devel \
    cyrus-sasl-devel openldap-devel libgcrypt-devel libgpg-error-devel \
    protobuf-devel protobuf-compiler patch vim-common procps-ng-devel

2. 解压安装

复制代码
[root@localhost ~]# tar -xvf percona-xtrabackup-8.0.35-34.tar.gz  -C   /root/soft
[root@localhost ~]# cd percona-xtrabackup-percona-xtrabackup-8.0.35-34
[root@localhost percona-xtrabackup-percona-xtrabackup-8.0.35-34]# mkdir build
[root@localhost percona-xtrabackup-percona-xtrabackup-8.0.35-34]# cd build

boost下载超时,需手动下载部署。

复制代码
#在同级目录build操作
[root@localhost build]# mkdir -p boost
#直接解压到boost目录下
[root@localhost build]# tar -xjf boost_1_77_0.tar.bz2 -C boost --strip-components=1

3. cmake配置

**CMake(跨平台自动化构建系统)**是软件编译过程中的核心工具,用于管理项目构建的全生命周期。

复制代码
[root@localhost build]# cmake .. \
  -DCMAKE_BUILD_TYPE=RelWithDebInfo \
  -DCMAKE_INSTALL_PREFIX=/usr/local/percona-xtrabackup-8.0.35 \
  -DCMAKE_CXX_STANDARD=17 \
  -DCMAKE_CXX_STANDARD_REQUIRED=ON \
  -DWITH_BOOST=/root/soft/percona-xtrabackup-8.0.35-34/build/boost \
  -DDOWNLOAD_BOOST=1 \
  -DWITH_SSL=system \
  -DWITH_ZLIB=bundled \
  -DWITH_LZ4=bundled \
  -DWITH_ZSTD=bundled \
  -DWITH_CURL=system \
  -DWITH_ICU=bundled \
  -DWITH_PROTOBUF=system \
  -DPROTOBUF_LITE_LIBRARY=/usr/lib64/libprotobuf-lite.so \
  -DPROTOBUF_LIBRARY=/usr/lib64/libprotobuf.so \
  -DPROTOBUF_INCLUDE_DIR=/usr/include \
  -DWITH_LDAP=OFF \
  -DWITH_FIDO=none \
  -DWITH_NUMA=OFF \
  -DWITH_VERSION_CHECK=OFF \
  -DWITH_MAN_PAGES=OFF

① 如果报错"kerberos"

复制代码
CMake Error at cmake/kerberos.cmake:407 (MESSAGE):  Could not find KERBEROS Call Stack (most recent call first):  
CMakeLists.txt:1819 (MYSQL_CHECK_KERBEROS)  -- Configuring incomplete, errors occurred!

需在源码级别禁止 Kerberos 检测,注释掉 "#MYSQL_CHECK_KERBEROS()"。

复制代码
[root@localhost build]# vim CMakeLists.txt
#找到这一行(大约在 1819 行左右):

MYSQL_CHECK_KERBEROS()
#直接注释掉

# MYSQL_CHECK_KERBEROS()

每次报错,都需清空build目录,重新操作。

cmake构建成功:

复制代码
#看到以下信息,说明cmake构建成功。
-- Configuring done
-- Generating done
CMake Warning:
  Manually-specified variables were not used by the project:

    ENABLE_DOWNLOADS


-- Build files have been written to: /root/package/percona-xtrabackup-8.0.35-34/build

4. make编译

复制代码
[root@localhost build]#  make -j4                 (看服务器CPU情况配置)
#出现以下内容编译成功

[100%] Building CXX object storage/innobase/xtrabackup/src/CMakeFiles/xtrabackup.dir/kdf.cc.o
[100%] Building CXX object storage/innobase/xtrabackup/src/CMakeFiles/xtrabackup.dir/space_map.cc.o
cc1plus: warning: -Wformat-security ignored without -Wformat [-Wformat-security]
cc1plus: warning: -Wformat-security ignored without -Wformat [-Wformat-security]
[100%] Building CXX object storage/innobase/xtrabackup/src/CMakeFiles/xtrabackup.dir/redo_log_consumer.cc.o
cc1plus: warning: -Wformat-security ignored without -Wformat [-Wformat-security]
[100%] Building CXX object storage/innobase/xtrabackup/src/CMakeFiles/xtrabackup.dir/redo_log.cc.o
cc1plus: warning: -Wformat-security ignored without -Wformat [-Wformat-security]
[100%] Building CXX object storage/innobase/xtrabackup/src/CMakeFiles/xtrabackup.dir/__/__/__/__/sql-common/client_authentication.cc.o
cc1plus: warning: -Wformat-security ignored without -Wformat [-Wformat-security]
[100%] Linking CXX executable ../../../../runtime_output_directory/xtrabackup
make[2]: Leaving directory '/root/soft/percona-xtrabackup-8.0.35-34/build'
[100%] Built target xtrabackup
make[1]: Leaving directory '/root/soft/percona-xtrabackup-8.0.35-34/build'

5. make install安装

复制代码
[root@localhost build]# make install

安装完成后,需设置环境变量

复制代码
[root@localhost build]# echo 'export PATH=/usr/local/percona-xtrabackup-8.0.35/bin:$PATH' >> /etc/profile
[root@localhost build]# source /etc/profile

① 查看版本

复制代码
[root@localhost build]# xtrabackup --version
2025-12-25T11:07:44.972353+08:00 0 [Note] [MY-011825] [Xtrabackup] recognized server arguments: --datadir=/var/lib/mysql/data --server-id=2 --log_bin=mysql-bin 
xtrabackup version 8.0.35-34 based on MySQL server 8.0.35 Linux (aarch64) (revision id: c8a25ff9)

② 检查动态链接库

复制代码
[root@localhost build]# ldd /usr/local/percona-xtrabackup-8.0.35/bin/xtrabackup
        linux-vdso.so.1 (0x0000fffc6a1c0000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x0000fffc6a160000)
        libaio.so.1 => /lib64/libaio.so.1 (0x0000fffc6a130000)
        libgcrypt.so.20 => /lib64/libgcrypt.so.20 (0x0000fffc6a050000)
        libgpg-error.so.0 => /lib64/libgpg-error.so.0 (0x0000fffc6a000000)
        libprocps.so.8 => /lib64/libprocps.so.8 (0x0000fffc69fb0000)
        libprotobuf-lite.so.23 => /lib64/libprotobuf-lite.so.23 (0x0000fffc69ee0000)
        libresolv.so.2 => /lib64/libresolv.so.2 (0x0000fffc69ea0000)
        librt.so.1 => /lib64/librt.so.1 (0x0000fffc69e70000)
        libssl.so.1.1 => /lib64/libssl.so.1.1 (0x0000fffc69dc0000)
        libcrypto.so.1.1 => /lib64/libcrypto.so.1.1 (0x0000fffc69ae0000)
        libdl.so.2 => /lib64/libdl.so.2 (0x0000fffc69ab0000)
        libstdc++.so.6 => /lib64/libstdc++.so.6 (0x0000fffc69900000)
        libm.so.6 => /lib64/libm.so.6 (0x0000fffc69830000)
        libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000fffc697f0000)
        libc.so.6 => /lib64/libc.so.6 (0x0000fffc69660000)
        /lib/ld-linux-aarch64.so.1 (0x0000fffc6a1d0000)
        libsystemd.so.0 => /lib64/libsystemd.so.0 (0x0000fffc69590000)
        libz.so.1 => /lib64/libz.so.1 (0x0000fffc69550000)
        liblzma.so.5 => /lib64/liblzma.so.5 (0x0000fffc69500000)
        liblz4.so.1 => /lib64/liblz4.so.1 (0x0000fffc694a0000)
        libselinux.so.1 => /lib64/libselinux.so.1 (0x0000fffc69450000)
        libsecurity.so.0 => /lib64/libsecurity.so.0 (0x0000fffc69420000)
        libpcre2-8.so.0 => /lib64/libpcre2-8.so.0 (0x0000fffc69370000)

编译安装成功!

相关推荐
程序员水自流2 小时前
MySQL常用SQL语法及参数详细介绍(新手经验书)
java·数据库·sql·mysql·oracle
老友@2 小时前
MySQL:从 ACID 到 MVCC 与主从复制
数据库·mysql·事务·mvcc·主从复制·acid·2pc
九皇叔叔2 小时前
一文讲透 MVCC:普通 SELECT 何时不加锁?(RC/RR 实战篇)
数据库·sql·mysql
火山引擎开发者社区2 小时前
云数据库 MySQL 2025 运维革新:大版本升级无忧+蓝绿零停机+存储自动扩容全覆盖
运维·数据库·mysql
_OP_CHEN4 小时前
【C++数据结构进阶】从B + 树 / B * 树到数据库索引:B树的进化之路与 MySQL 实战解析
数据结构·数据库·b树·mysql·innodb·b+树·mylsam
最贪吃的虎12 小时前
Git: rebase vs merge
java·运维·git·后端·mysql
残 风13 小时前
pg兼容mysql框架之语法解析层(openHalo开源项目解析)
数据库·mysql·开源
九皇叔叔13 小时前
MySQL 数据库 MVCC 机制
数据库·mysql
阿巴~阿巴~16 小时前
告别命令行:Navicat可视化操作数据库(附安装使用教程)
服务器·数据库·mysql·navicat·可视化操作数据库