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 / 脚本自动化。

目录
相关文章
|
1月前
|
关系型数据库 MySQL Java
开源PolarDB-X备份恢复操作实操
作者介绍: 付文革,航天壹进制(江苏)信息科技有限公司产品研发,专注于数据库备份,主攻MySQL相关数据库以及各种国产分布式数据库的备份恢复,主要使用Java 、Python、Shell等编程语言 航天壹进制(江苏)信息科技有限公司(简称航天壹进制)作为中国航天科工集团有限公司旗下上市公司航天工业发展股份有限公司的全资下属企业,专注于数据安全领域,自主研发并提供数据保护与业务连续性管理产品、解决方案及服务。
|
1月前
|
机器学习/深度学习 人工智能 缓存
让AI评测AI:构建智能客服的自动化运营Agent体系
大模型推动客服智能化演进,从规则引擎到RAG,再到AI原生智能体。通过构建“评估-诊断-优化”闭环的运营Agent,实现对话效果自动化评测与持续优化,显著提升服务质量和效率。
927 41
让AI评测AI:构建智能客服的自动化运营Agent体系
|
6天前
|
数据可视化 前端开发 数据挖掘
期货数据API对接与可视化分析全攻略:从数据获取到K线图生成
本文系统讲解期货数据API对接与K线图可视化全流程,涵盖WebSocket实时行情获取、RESTful历史数据调用、Pandas数据清洗处理及mplfinance、ECharts等多方案图表生成,助你构建完整的期货分析系统。
|
8天前
|
人工智能 自然语言处理 机器人
AI也会"三思而后答"?揭秘Self-RAG智能检索术
遇到AI胡说八道怎么办?Self-RAG就像给AI装了个"思考开关",让它知道什么时候该查资料、什么时候该独立思考,还能自我评估答案靠不靠谱。6步智能决策机制,让AI回答又准又稳!#人工智能 #RAG技术 #智能检索 #AI应用
|
16天前
|
SQL 人工智能 数据库
你的数据库不是性能差,是你的SQL在“烧钱”:用这条指令让AI化身资深DBA
硬件升配解决不了烂SQL!本文提供一套经过验证的AI指令,将大模型转化为资深DBA,通过深度诊断、索引优化和执行计划分析,帮助开发者从根源解决慢查询问题,实现数据库性能的降本增效。
165 19
|
1月前
|
机器人 数据挖掘 API
一个销售数据分析机器人的诞生:看 Dify 如何在 DMS 助力下实现自动化闭环
Dify 作为一款低代码 AI 应用开发平台,凭借其直观的可视化工作流编排能力,极大降低了大模型应用的开发门槛。
418 22
一个销售数据分析机器人的诞生:看 Dify 如何在 DMS 助力下实现自动化闭环
|
1月前
|
运维 监控 数据可视化
故障发现提速 80%,运维成本降 40%:魔方文娱的可观测升级之路
魔方文娱携手阿里云构建全栈可观测体系,实现故障发现效率提升 80%、运维成本下降 40%,并融合 AI 驱动异常检测,迈向智能运维新阶段。
314 36
|
25天前
|
传感器 搜索推荐 物联网
RFID打造宠物智能管理新模式
通过RFID技术为宠物建立独特的RFID电子"身份证",实现对宠物全生命周期的精细跟踪与详细记录,做到有据可查。RFID提供了精细的宠物数据跟踪能力,将宠物的生命历程、疫苗、健康状况等详细记录,使重要信息易于获取和管理。RFID技术通过为宠物建立唯一电子身份,实现精准识别与数据交互,RFID打造宠物智能管理新模式。
|
25天前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS收费价格:最新MySQL、SQL Server、PostgreSQL和MariaDB收费标准
阿里云RDS数据库支持MySQL、SQL Server、PostgreSQL和MariaDB,多种引擎任选。基础版优惠价低至88元/年,如MySQL倚天版1核2G仅需88元,SQL Server 2核4G 299元/年,PostgreSQL 2核4G 227元/年,高性价比,弹性可扩展,安全稳定,详情可查官方活动页面。
186 1
|
1月前
|
缓存 Linux 开发者
Windows 下手动下载安装配置 uv
UV 是专为 Windows 打造的轻量命令行包管理器,仅需 uv.exe 和 uvx.exe 两个文件,无需 WSL 或管理员权限。支持一键安装、卸载、多版本切换 Python 等工具,内置依赖解析与缓存管理,搭配国内镜像更高效。绿色无残留,开发者友好,真正实现 Linux 般丝滑体验。
1233 2