PolarDB-X下使用备份工具t-polardbx-engine-xtrabackup

本文涉及的产品
PolarClaw,2核4GB
简介: 针对PolarDB-X xtrabackup在CentOS 8/RHEL 8等新版系统因依赖旧版libgcrypt.so.11和libprocps.so.4无法运行的问题,提供两种零侵入兼容方案:一是通过独立目录部署旧库+wrapper脚本+环境变量注入,实现一键开关、无污染回退;二是强制安装仅含库文件的CentOS 7 RPM包,与新库共存,支持快速卸载。均无需降级系统、重编译或修改glibc,保障生产环境安全稳定,适用于自动化运维与定时备份场景。

PolarDB-X xtrabackup(CentOS 7 二进制)在 CentOS 8 / RHEL 8 / Rocky 8 / Alma 8(glibc 2.28)上的
零侵入兼容运行方案
PolarDB-X下使用备份工具t-polardbx-engine-xtrabackup 出现问题

一、背景
PolarDB-X 发布的 xtrabackup80 8.0.32-34 是为 CentOS 7 编译的,动态链接:
• libgcrypt.so.11(1.5.3 系列)
• libprocps.so.4(3.3.10 系列)
新版系统只提供 libgcrypt.so.20 与 libprocps.so.8,直接运行会报:
error while loading shared libraries: libgcrypt.so.11: cannot open shared object file...
二、设计目标
不降级系统已有 RPM,保证 top、ps、sysctl 等命令保持新版。
不编译、不改动现有 glibc。
支持 一键开启/关闭 兼容模式,可随时回退到原生环境。
对 systemd、crontab、Ansible 无 side-effect。
三、实现思路
“库文件解包独立目录 + 专用 wrapper 脚本 + 环境变量临时注入”

cd /opt
wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/libgcrypt-1.5.3-14.el7.x86_64.rpm
wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/procps-ng-3.3.10-28.el7.x86_64.rpm

创建兼容树

mkdir -p /opt/polardbx-xtrabackup80-compat/{
   lib,bin}

仅提取库

cd /opt/polardbx-xtrabackup80-compat
rpm2cpio /opt/libgcrypt-1.5.3-14.el7.x86_64.rpm | cpio -idmv
rpm2cpio /opt/procps-ng-3.3.10-28.el7.x86_64.rpm | cpio -idmv
mv usr/lib64/libgcrypt.so.11* lib/
mv usr/lib64/libprocps.so.4* lib/
ldconfig -n "$PWD/lib"
rm -rf usr lib64

生成 wrapper(名称与原命令相同,便于 PATH 覆盖)

cat > bin/xtrabackup <<'EOF'
#!/bin/bash
export LD_LIBRARY_PATH=/opt/polardbx-xtrabackup80-compat/lib:$LD_LIBRARY_PATH
exec /u01/polardbx_engine_xtrabackup80/bin/xtrabackup "$@"
EOF

chmod +x bin/xtrabackup
提供“开关”函数

cat > /etc/profile.d/polardbx-xtrabackup80-compat.sh <<'EOF'
# 开启兼容
enable_polardbx_xtrabackup_compat() {
    export PATH=/opt/polardbx-xtrabackup80-compat/bin:$PATH
    echo "PolarDB-X xtrabackup80 兼容模式已开启"
}

# 关闭兼容
disable_polardbx_xtrabackup_compat() {
    export PATH=${PATH//\/opt\/polardbx-xtrabackup80-compat\/bin:/}
    unset LD_LIBRARY_PATH
    echo "PolarDB-X xtrabackup80 兼容模式已关闭"
}
EOF
chmod 644 /etc/profile.d/polardbx-xtrabackup80-compat.sh

五、使用方法
临时单次运行(推荐)

/opt/polardbx-xtrabackup80-compat/bin/xtrabackup --version
/opt/polardbx-xtrabackup80-compat/bin/xtrabackup --backup --target-dir=/backup/...

当前 shell 全程开启

source /etc/profile.d/polardbx-xtrabackup80-compat.sh
enable_polardbx_xtrabackup_compat
xtrabackup --version          # 直接调用即是兼容版

关闭回退

disable_polardbx_xtrabackup_compat
which xtrabackup              # 应提示找不到,恢复系统原状

六、systemd 定时备份示例(无需改全局环境)

[Unit]
Description=PolarDB-X physical backup

[Service]
Type=oneshot
ExecStart=/opt/polardbx-xtrabackup80-compat/bin/xtrabackup \
          --backup --stream=xbstream --target-dir=/backup \
          > /backup/full_$(date +%F).xbstream

服务单元默认继承最小环境,wrapper 已内置 LD_LIBRARY_PATH,无需额外设置。
七、卸载 / 回滚

rm -rf /opt/polardbx-xtrabackup80-compat /etc/profile.d/polardbx-xtrabackup80-compat.sh

系统即刻回到未安装任何旧库的原始状态。
八、总结
• 零编译、零降级、零污染。
• 所有旧库文件仅存在于 /opt,系统 RPM 数据库无记录。
• 支持同机共存官方新版 xtrabackup(若后续发布 EL8 包)。
• 一键开关,生产环境可放心使用。

方案二:

PolarDB-X xtrabackup80 最小侵入兼容方案
CentOS 8/RHEL 8/Rocky 8 快速安装/卸载手册
一、问题
PolarDB-X 提供的 xtrabackup80 依赖:
libgcrypt.so.11(1.5.3 系列)
libprocps.so.4(3.3.10 系列)
新系统仅提供 libgcrypt.so.20 与 libprocps.so.8,直接运行报:
error while loading shared libraries: libgcrypt.so.11: cannot open shared object file...
二、解决思路
强制安装“纯库” RPM → 追加旧 .so → ldconfig 注册 → 随时整包卸载回退
系统可执行文件(ps、top 等)保持新版本,零冲突。
三、操作步骤(root)

  1. 下载官方 CentOS 7 库 RPM
wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/libgcrypt-1.5.3-14.el7.x86_64.rpm
wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/procps-ng-3.3.10-28.el7.x86_64.rpm
  1. 强制安装(仅库文件,不覆盖新版工具)
rpm -ivh --force --nodeps libgcrypt-1.5.3-14.el7.x86_64.rpm procps-ng-3.3.10-28.el7.x86_64.rpm
ldconfig
  1. 验证
ldconfig -p | grep -E 'libgcrypt\.so\.11|libprocps\.so\.4'
/u01/polardbx_engine_xtrabackup80/bin/xtrabackup --version

正常输出版本即成功。
四、卸载回退(一键恢复原生)

rpm -e --nodeps libgcrypt-1.5.3-14.el7 procps-ng-3.3.10-28.el7
ldconfig

旧库文件被完整删除,系统回到安装前状态。

五、注意事项
本方案不编译、不改系统配置、不降级现有命令。
强制安装仅添加 .so.4 / .so.11 符号链接,与原新版库共存。
适用于一次性备份场景,也可放入 Ansible / Salt / 脚本自动化。

目录
相关文章
|
5月前
|
关系型数据库 MySQL Java
开源PolarDB-X备份恢复操作实操
作者介绍: 付文革,航天壹进制(江苏)信息科技有限公司产品研发,专注于数据库备份,主攻MySQL相关数据库以及各种国产分布式数据库的备份恢复,主要使用Java 、Python、Shell等编程语言 航天壹进制(江苏)信息科技有限公司(简称航天壹进制)作为中国航天科工集团有限公司旗下上市公司航天工业发展股份有限公司的全资下属企业,专注于数据安全领域,自主研发并提供数据保护与业务连续性管理产品、解决方案及服务。
|
SQL Kubernetes 关系型数据库
如何一键安装部署PolarDB-X
《PolarDB-X 动手实践》系列第一期,体验如何一键安装部署PolarDB-X。
|
3月前
|
Ubuntu Java Linux
ARM Linux 环境 国产 华为 欧拉 openEuler 20.03 操作系统安装 Polardb-X 数据库 单机版 rpm 包 教程
本文介绍在ARM64架构的openEuler 20.03系统上,通过RPM包安装部署PolarDB-X单节点数据库的完整过程,涵盖环境准备、RPM安装、用户配置、数据库初始化及启动连接等步骤,助力用户在国产化软硬件平台上快速搭建PolarDB-X运行环境。
1055 2
|
20天前
|
Ubuntu 算法 关系型数据库
Debian/Ubuntu 环境 PolarDB-X 单机版 DEB 包安装综合指南
本文整合阿里云文档,详解Ubuntu 18.04与Debian 10下PolarDB-X单机版安装:因官方仅提供RPM包,需用alien转DEB,但二者压缩格式不同(Ubuntu用zstd,Debian 10不支持),必须在目标系统本地转换,不可复用。含依赖处理、配置初始化及启动验证全流程。
353 19
|
6月前
|
SQL 关系型数据库 MySQL
开源新发布|PolarDB-X v2.4.2开源生态适配升级
PolarDB-X v2.4.2开源发布,重点完善生态能力:新增客户端驱动、开源polardbx-proxy组件,支持读写分离与高可用;强化DDL变更、扩缩容等运维能力,并兼容MySQL主备复制及MCP AI生态。
开源新发布|PolarDB-X v2.4.2开源生态适配升级
|
3月前
|
Linux 数据库
Linux 环境 国产银河麒麟V10操作系统安装 Polardb-X 数据库 单机版 rpm 包 教程
本文介绍在国产银河麒麟V10操作系统上安装Polardb-X单机版数据库的完整过程。基于RPM包方式部署,步骤与CentOS 7.9类似,涵盖系统环境确认、依赖安装、用户配置、初始化数据目录及启动服务等关键环节,并通过命令验证运行状态,助力国产化平台数据库搭建。
1233 2
|
3月前
|
Linux 数据库
Linux 环境 Polardb-X 数据库 单机版 rpm 包 安装教程
本文介绍在CentOS 7.9环境下安装PolarDB-X单机版数据库的完整流程,涵盖系统环境准备、本地Yum源配置、RPM包安装、用户与目录初始化、依赖库解决、数据库启动及客户端连接等步骤,助您快速部署运行PolarDB-X。
1203 2
Linux 环境 Polardb-X 数据库 单机版 rpm 包 安装教程
|
3月前
|
Linux 数据库
Linux 环境 国产 华为 欧拉 openEuler 20.03 操作系统安装 Polardb-X 数据库 单机版 rpm 包 教程
本文为华为欧拉openEuler 20.03操作系统下Polardb-X单机版RPM包安装教程,继CentOS 7.9与银河麒麟V10后,延续相似步骤,详述环境准备、依赖安装、配置初始化及服务启动全过程,助力国产化平台数据库部署。作者张阳,资深从业者,欢迎交流。
692 5
|
5月前
|
负载均衡 关系型数据库 分布式数据库
开源新升级|体验PolarDB,赢社区礼品
开源PolarDB体验改进项目邀您参与!基于最新PolarDB-X v2.4.2版本,体验新开源的polardbx-proxy组件,助力打造更优产品。活动时间即日起至2025年12月31日,完成三节点高可用集群部署并反馈问题,有机会赢取阿里云保温杯、棒球帽或PolarDB开发者大会卫衣等好礼。
|
存储 监控 关系型数据库
ARM 架构上基于 ProxySQL 部署 PolarDB-X 高可用集群实战指南
本指南详解在ARM64架构上基于ProxySQL部署PolarDB-X高可用集群的完整流程,涵盖环境准备、RPM安装、三节点集群配置、ProxySQL读写分离与自动故障转移设置,实现金融级高可用与读写分离,适用于分布式数据库实战部署。
516 0