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

简介: 针对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 / 脚本自动化。

目录
相关文章
|
3月前
|
关系型数据库 MySQL Java
开源PolarDB-X备份恢复操作实操
作者介绍: 付文革,航天壹进制(江苏)信息科技有限公司产品研发,专注于数据库备份,主攻MySQL相关数据库以及各种国产分布式数据库的备份恢复,主要使用Java 、Python、Shell等编程语言 航天壹进制(江苏)信息科技有限公司(简称航天壹进制)作为中国航天科工集团有限公司旗下上市公司航天工业发展股份有限公司的全资下属企业,专注于数据安全领域,自主研发并提供数据保护与业务连续性管理产品、解决方案及服务。
|
3月前
|
人工智能 前端开发 算法
大厂CIO独家分享:AI如何重塑开发者未来十年
在 AI 时代,若你还在紧盯代码量、执着于全栈工程师的招聘,或者仅凭技术贡献率来评判价值,执着于业务提效的比例而忽略产研价值,你很可能已经被所谓的“常识”困住了脚步。
2002 89
大厂CIO独家分享:AI如何重塑开发者未来十年
|
3月前
|
机器学习/深度学习 人工智能 缓存
让AI评测AI:构建智能客服的自动化运营Agent体系
大模型推动客服智能化演进,从规则引擎到RAG,再到AI原生智能体。通过构建“评估-诊断-优化”闭环的运营Agent,实现对话效果自动化评测与持续优化,显著提升服务质量和效率。
1974 86
让AI评测AI:构建智能客服的自动化运营Agent体系
|
NoSQL MongoDB
11 MongoDB - 数据查询(统计个数)
11 MongoDB - 数据查询(统计个数)
1713 0
|
3月前
|
人工智能 Java API
Java 正式进入 Agentic AI 时代:Spring AI Alibaba 1.1 发布背后的技术演进
Spring AI Alibaba 1.1 正式发布,提供极简方式构建企业级AI智能体。基于ReactAgent核心,支持多智能体协作、上下文工程与生产级管控,助力开发者快速打造可靠、可扩展的智能应用。
3321 43
|
1月前
|
缓存 AliSQL 安全
AliSQL 向量技术解析(二):读写缓存与事务并发
本文介绍AliSQL 8.0向量索引的优化:通过Nodes Cache提升搜索效率,结合公共与事务缓存实现RC隔离级别,支持读读、读写并发,并利用预计算与SIMD加速向量计算,显著提升性能。
AliSQL 向量技术解析(二):读写缓存与事务并发
|
1月前
|
分布式计算 MaxCompute C语言
AMD服务器上一个诡异的性能问题诊断历程
本文复盘该高优故障的根因、排查过程与应对策略,为新硬件平台上的混部稳定性提供关键经验。
AMD服务器上一个诡异的性能问题诊断历程
|
存储 监控 关系型数据库
ARM 架构上基于 ProxySQL 部署 PolarDB-X 高可用集群实战指南
本指南详解在ARM64架构上基于ProxySQL部署PolarDB-X高可用集群的完整流程,涵盖环境准备、RPM安装、三节点集群配置、ProxySQL读写分离与自动故障转移设置,实现金融级高可用与读写分离,适用于分布式数据库实战部署。
343 0
|
3月前
|
人工智能 自然语言处理 人机交互
瞭望塔丨吴泳铭:拥抱人工智能驱动的产业智能革命
过去一年,以大模型为代表的人工智能技术飞速发展,人工智能进入“智能涌现”新阶段,正在深刻重构数字世界和现实世界。二十届中央财经委员会第一次会议强调,要把握人工智能等新科技革命浪潮。国内科技企业纷纷加大研发投入,行业创新踊跃。人工智能应用前景广阔,对数字经济迈向下一个发展阶段是历史性的机遇,是新一轮产业智能和技术革命的重要驱动力量。
|
3月前
|
负载均衡 关系型数据库 分布式数据库
开源新升级|体验PolarDB,赢社区礼品
开源PolarDB体验改进项目邀您参与!基于最新PolarDB-X v2.4.2版本,体验新开源的polardbx-proxy组件,助力打造更优产品。活动时间即日起至2025年12月31日,完成三节点高可用集群部署并反馈问题,有机会赢取阿里云保温杯、棒球帽或PolarDB开发者大会卫衣等好礼。

热门文章

最新文章