这是一篇基于你提供的两篇阿里云开发者社区文章整理而成的高质量综合教程。
我将 Ubuntu 18.04 和 Debian 10 两个 Debian 系发行版的 PolarDB-X 单机版安装流程进行了合并。由于官方仅提供 RPM 包,这两个系统均需通过 alien 工具进行格式转换,但在此过程中存在特定的兼容性差异,本文将重点阐述这一细节。
🐧 Debian/Ubuntu 环境 PolarDB-X 单机版 DEB 包安装综合指南
摘要: 本文档汇总了在 Ubuntu 18.04 和 Debian 10 操作系统上,通过将官方 RPM 包转换为 DEB 包来部署 PolarDB-X 单机版数据库的完整流程。特别提示:Ubuntu 和 Debian 虽同源,但生成的 DEB 包不通用,请务必在目标系统上重新转换。
适用版本: PolarDB-X 8.4.19 (Build: 20250825)
📊 1. 环境准备与核心差异
在开始前,请确认您的系统版本。虽然 Ubuntu 和 Debian 都使用 DEB 包管理器,但在处理从 RPM 转换过来的软件包时,存在压缩格式兼容性问题。
| 系统环境 | 版本信息 | 关键注意事项 |
|---|---|---|
| Ubuntu | 18.04.6 LTS | 转换流程标准,直接使用 alien 转换即可。 |
| Debian | 10 (Buster) | 不能直接使用 Ubuntu 转好的包。Ubuntu 生成的 DEB 包采用 ZSTD 压缩,Debian 10 默认不支持,必须在 Debian 环境下重新转换 RPM 源包。 |
获取安装包:
您可以通过以下方式下载 PolarDB-X RPM 安装包:
- 官方下载地址: https://www.polardbx.com/download
- 直接下载链接(示例):
t-polardbx-engine-8.4.19-20250825_17558853.el7.x86_64.rpm
⚙️ 2. RPM 转 DEB 与安装 (核心步骤)
2.1 安装转换工具
在两个系统中均需安装 alien 和 dpkg-dev 工具链:
sudo apt update
sudo apt install alien dpkg-dev -y
2.2 转换与安装流程
重要警示: 如果你在 Debian 10 上尝试安装 Ubuntu 下转换好的 DEB 包,会报错 archive uses unknown compression。请严格遵循以下步骤:
- 转换 (在各自系统上执行):
# 此命令会在当前目录生成 .deb 文件 alien t-polardbx-engine-8.4.19-20250825_17558853.el7.x86_64.rpm - 安装 DEB 包:
sudo apt install ./t-polardbx-engine_8.4.19-20250826_amd64.deb- 安装路径: 默认安装至
/u01/xcluster80_20250825_current。
- 安装路径: 默认安装至
2.3 创建软链接
为了方便管理,建议创建一个通用的软链接指向安装目录:
# 创建版本目录和通用链接
sudo cp -a /u01/xcluster80_20250825_current /u01/xcluster80_20250825
sudo ln -s /u01/xcluster80_20250825 /opt/polardbx_engine
🔧 3. 配置与初始化
3.1 创建运行用户
sudo useradd -ms /bin/bash polarx
echo "polarx:polarx" | sudo chpasswd
echo "polarx ALL=(ALL) NOPASSWD: ALL" | sudo tee -a /etc/sudoers
su - polarx
3.2 初始化工作目录
mkdir -p polardbx-engine/{
log,mysql,run,data,tmp}
3.3 编写配置文件
在 ~/polardbx-engine/my.cnf 中写入以下配置(请根据实际路径核对):
[mysqld]
basedir = /opt/polardbx_engine
log_error_verbosity = 2
default_authentication_plugin = mysql_native_password
gtid_mode = ON
enforce_gtid_consistency = ON
log_bin = mysql-binlog
binlog_format = row
binlog_row_image = FULL
master_info_repository = TABLE
relay_log_info_repository = TABLE
# change me if needed
datadir = /home/polarx/polardbx-engine/data
tmpdir = /home/polarx/polardbx-engine/tmp
socket = /home/polarx/polardbx-engine/tmp.mysql.sock
log_error = /home/polarx/polardbx-engine/log/alert.log
port = 4886
cluster_id = 1234
cluster_info = 127.0.0.1:14886@1
server_id = 2712347953
[mysqld_safe]
pid_file = /home/polarx/polardbx-engine/run/mysql.pid
🛠️ 4. 依赖库处理 (常见坑点)
在初始化过程中,系统可能会提示缺少特定的共享库文件。请根据报错信息安装对应的开发包:
| 报错信息 | 缺失库 | 安装命令 |
|---|---|---|
libaio.so.1: cannot open shared object file |
AIO 库 | sudo apt install libaio-dev -y |
libsnappy.so.1: cannot open shared object file |
压缩库 (Ubuntu常见) | sudo apt install libsnappy-dev -y |
libncurses.so.5: cannot open shared object file |
终端库 (Debian常见) | sudo apt install libncurses5 -y |
初始化命令:
/opt/polardbx_engine/bin/mysqld --defaults-file=my.cnf --initialize-insecure
▶️ 5. 启动与验证
5.1 启动服务
/opt/polardbx_engine/bin/mysqld_safe --defaults-file=my.cnf &
5.2 检查端口
PolarDB-X 默认使用 4886 (服务) 和 14886 (内部通信) 端口。
- 注:若提示
netstat: command not found,请安装net-tools:sudo apt install net-tools -y
5.3 客户端连接
/opt/polardbx_engine/bin/mysql -h127.0.0.1 -P4886 -uroot
验证成功:
进入 MySQL 命令行后,执行 select version();,若返回 8.0.32-X-Cluster-8.4.19 版本信息,则代表安装成功。
💡 总结与建议
- 通用性: 本教程适用于所有基于 Debian/Ubuntu 的发行版。
- 关键教训: 尽管文件格式相同,但不同版本的 Linux 发行版在打包工具链(如
dpkg的压缩算法)上存在差异。不要跨发行版复用二进制 DEB 包,最稳妥的方式是直接在目标服务器上使用 RPM 源包进行转换。