麒麟系统V10 arm版部署Xtrabackup8🌵
<h1><span style="color: rgba(186, 55, 42, 1)">麒麟系统V10 arm版部署Xtrabackup8</span>🌵</h1><hr>
<h1> </h1>
<div class="ybc-p"> </div>
<p><span style="font-size: 16px">搭建好MySQL或主从复制后,需要配置备份策略。可以设置逻辑备份,也可以设置物理备份。</span></p>
<p><code><span style="font-size: 16px">ARM架构只能编译安装percona-xtrabackup。</span></code></p>
<p><span style="font-size: 16px"><span style="color: rgba(132, 63, 161, 1)">官方文档</span>:<span style="color: rgba(132, 63, 161, 1)">https://docs.percona.com/percona-xtrabackup/8.0/compile-xtrabackup.html#2-installation-prerequisites</span></span></p>
<hr>
<h2> </h2>
<h2><span style="color: rgba(22, 145, 121, 1)">⭐ XtraBackup 工具简介</span></h2>
<h3>① 什么是 XtraBackup?</h3>
<div class="ybc-p">XtraBackup 是 Percona 公司开发的 MySQL 物理备份工具,专门针对 InnoDB 和 XtraDB 存储引擎设计。它能够在不锁定数据库的情况下执行在线热备份,是目前 MySQL/MariaDB 领域最主流的物理备份解决方案。</div>
<h3>② 版本演进</h3>
<ul class="ybc-ul-component">
<li class="ybc-li-component ybc-li-component_ul">
<div class="ybc-p"><strong>XtraBackup 2.4</strong>:支持 MySQL 5.6、5.7</div>
</li>
<li class="ybc-li-component ybc-li-component_ul">
<div class="ybc-p"><strong>XtraBackup 8.0</strong>:支持 MySQL 8.0,完全重写,架构现代化</div>
</li>
<li class="ybc-li-component ybc-li-component_ul">
<div class="ybc-p">关键改进:支持 MySQL 8.0 的新特性,如重做日志加密、表空间加密等</div>
</li>
</ul>
<p> </p>
<p><span style="font-size: 16px">麒麟V10系统信息:</span></p>
<pre class="language-bash highlighter-hljs"><code># 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"
# 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</code></pre>
<p> </p>
<h2><span style="font-size: 24px; color: rgba(22, 145, 121, 1)">1. 下载Xtrabackup</span></h2>
<h3>1.1 安装XtraBackuo工具:</h3>
<pre class="language-bash highlighter-hljs"><code># 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</code></pre>
<h3>1.2 安装依赖</h3>
<pre class="language-bash highlighter-hljs"><code>#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</code></pre>
<h2><span style="color: rgba(22, 145, 121, 1); font-size: 24px">2. 解压安装</span></h2>
<pre class="language-bash highlighter-hljs"><code># tar -xvf percona-xtrabackup-8.0.35-34.tar.gz-C /root/soft
# cd percona-xtrabackup-percona-xtrabackup-8.0.35-34
# mkdir build
# cd build</code></pre>
<p>boost下载超时,需手动下载部署。</p>
<pre class="language-bash highlighter-hljs"><code>#在同级目录build操作
# mkdir -p boost
#直接解压到boost目录下
# tar -xjf boost_1_77_0.tar.bz2 -C boost --strip-components=1</code></pre>
<h2><span style="color: rgba(22, 145, 121, 1)">3. cmake配置</span></h2>
<p><span style="color: rgba(0, 0, 0, 1)"><strong>CMake(跨平台自动化构建系统)</strong>是软件编译过程中的核心工具,用于管理项目构建的全生命周期。</span></p>
<pre class="language-bash highlighter-hljs"><code># 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</code></pre>
<p class="md-end-block md-p md-focus"><span class="md-plain md-expand">① 如果报错"kerberos"</span></p>
<pre class="language-sql highlighter-hljs"><code>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!</code></pre>
<p class="md-end-block md-p md-focus"><span class="md-plain md-expand">需在源码级别禁止 Kerberos 检测,注释掉 “#MYSQL_CHECK_KERBEROS()”。</span></p>
<pre class="language-bash highlighter-hljs"><code># vim CMakeLists.txt
#找到这一行(大约在 1819 行左右):
MYSQL_CHECK_KERBEROS()
#直接注释掉
# MYSQL_CHECK_KERBEROS()</code></pre>
<p><code><span style="font-size: 16px">每次报错,都需清空build目录,重新操作。</span></code></p>
<p><span style="font-size: 16px"><strong><span class="md-plain">cmake构建成功:</span></strong></span></p>
<pre class="language-bash highlighter-hljs"><code>#看到以下信息,说明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</code></pre>
<h2><span style="color: rgba(22, 145, 121, 1); font-size: 24px">4. make编译</span></h2>
<pre class="language-bash highlighter-hljs"><code>#make -j4 (看服务器CPU情况配置)
#出现以下内容编译成功
Building CXX object storage/innobase/xtrabackup/src/CMakeFiles/xtrabackup.dir/kdf.cc.o
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]
Building CXX object storage/innobase/xtrabackup/src/CMakeFiles/xtrabackup.dir/redo_log_consumer.cc.o
cc1plus: warning: -Wformat-security ignored without -Wformat [-Wformat-security]
Building CXX object storage/innobase/xtrabackup/src/CMakeFiles/xtrabackup.dir/redo_log.cc.o
cc1plus: warning: -Wformat-security ignored without -Wformat [-Wformat-security]
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]
Linking CXX executable ../../../../runtime_output_directory/xtrabackup
make: Leaving directory '/root/soft/percona-xtrabackup-8.0.35-34/build'
Built target xtrabackup
make: Leaving directory '/root/soft/percona-xtrabackup-8.0.35-34/build'</code></pre>
<h2><span style="font-size: 24px"><span style="color: rgba(22, 145, 121, 1)">5. make install安装</span> <br></span></h2>
<pre class="language-bash highlighter-hljs"><code># make install</code></pre>
<p><span style="font-size: 16px">安装完成后,需设置环境变量</span></p>
<pre class="language-bash highlighter-hljs"><code># echo 'export PATH=/usr/local/percona-xtrabackup-8.0.35/bin:$PATH' >> /etc/profile
# source /etc/profile</code></pre>
<p><span style="font-size: 16px">① 查看版本</span></p>
<pre class="language-bash highlighter-hljs"><code># xtrabackup --version
2025-12-25T11:07:44.972353+08:00 0 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)</code></pre>
<p><span style="font-size: 16px">② 检查动态链接库</span></p>
<pre class="language-bash highlighter-hljs"><code># 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)</code></pre>
<p><code><span style="font-size: 16px">编译安装成功!</span></code></p><br><br>
来源:https://www.cnblogs.com/haoee/p/19388109
頁:
[1]