PolarDB-X 实战部署:CentOS 7.X 环境下的 RPM 单机安装与配置

📅 2026/6/30 5:43:40
PolarDB-X 实战部署:CentOS 7.X 环境下的 RPM 单机安装与配置
PolarDB-X 实战部署CentOS 7.X 环境下的 RPM 单机安装与配置本文记录一次在 CentOS 7.X 环境下通过 RPM 包单机部署 PolarDB-X 的完整过程。RPM 包来自 PolarDB 开源社区下载页https://openpolardb.com/download这里采用的是单机部署方式适合开发、测试、功能验证和兼容性评估。单机部署不具备三副本高可用能力不建议直接作为生产部署方案。1. 环境说明本次部署环境如下操作系统CentOS 7.X 部署方式RPM 部署形态单机 数据库端口4886 运行用户polarx 安装目录/opt/polardbx_engine 数据目录/home/polarx/polardbx-engine/data 日志目录/home/polarx/polardbx-engine/log官方 RPM 部署文档建议使用 4C16G 以上机器。测试环境可以适当降低配置但如果机器内存过小初始化或启动阶段可能会比较慢甚至失败。另外CentOS 7 已经停止官方维护如果是生产或准生产环境建议确认是否有企业内部补丁源、加固基线和长期维护策略。2. 下载 RPM 包进入 PolarDB 开源社区下载页https://openpolardb.com/download根据服务器架构选择对应 RPM 包例如 x86_64 架构下载 x86 版本ARM 服务器下载 ARM 版本。上传到服务器后可以先查看文件ls-lh假设 RPM 包在当前目录文件名类似polardbx-engine-*.rpm后续命令使用通配符表示实际执行时也可以替换为完整文件名。3. 安装基础依赖先安装常用依赖和 MySQL 客户端yuminstall-ylibaio libaio-devel numactl ncurses-devel openssl-devel mysql如果服务器上没有netstat也可以安装网络工具yuminstall-ynet-tools4. 安装 RPM 包使用yum localinstall或yum install安装 RPMyuminstall-y./polardbx-engine-*.rpm安装完成后确认 PolarDB-X Engine 二进制文件已经存在ls-l/opt/polardbx_engine/bin/ls-l/opt/polardbx_engine/bin/mysqld如果能看到mysqld说明 RPM 安装成功。5. 创建运行用户和目录不建议直接使用 root 用户运行数据库进程。这里创建一个polarx用户useradd-ms/bin/bash polarxpasswdpolarx切换到polarx用户su- polarx创建运行目录mkdir-p~/polardbx-engine/{data,log,tmp,run,mysql}cd~/polardbx-engine目录用途如下data数据库数据目录 log错误日志目录 tmp临时文件和 socket 目录 runpid 文件目录 mysql预留目录6. 编写 my.cnf 配置文件创建配置文件vi~/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 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:148861 server_id 1 [mysqld_safe] pid_file /home/polarx/polardbx-engine/run/mysql.pid这里使用4886作为数据库访问端口14886用于本地集群通信配置。单机部署时cluster_info配置为本机地址即可。7. 初始化数据库官方文档中常见示例使用--initialize-insecure该方式会初始化无密码 root 用户。本文出于安全考虑使用--initialize让系统生成 root 临时密码。执行初始化/opt/polardbx_engine/bin/mysqld\--defaults-file/home/polarx/polardbx-engine/my.cnf\--initialize初始化完成后从错误日志中查找 root 临时密码grep-itemporary password/home/polarx/polardbx-engine/log/alert.log如果没有匹配到可以直接查看日志尾部tail-n100/home/polarx/polardbx-engine/log/alert.log注意初始化只能对空数据目录执行。如果初始化失败后需要重试要确认data、tmp、log等目录中没有残留脏数据必要时清理后重新初始化。8. 启动 PolarDB-X执行启动命令/opt/polardbx_engine/bin/mysqld_safe\--defaults-file/home/polarx/polardbx-engine/my.cnf查看启动日志tail-f/home/polarx/polardbx-engine/log/alert.log另开一个终端确认端口是否监听netstat-lntp|grep4886如果看到4886端口处于监听状态说明服务已经启动。9. 首次登录并修改 root 密码使用初始化阶段生成的临时密码登录mysql-h127.0.0.1-P4886-uroot-p--connect-expired-password首次登录后立即修改 root 密码ALTERUSERrootlocalhostIDENTIFIEDBYYourStrongPassword123;FLUSHPRIVILEGES;如果需要远程连接不建议直接开放 root可以创建业务账号CREATEDATABASEgateway_db;CREATEUSERgateway_user%IDENTIFIEDBYGatewayPassword123;GRANTALLPRIVILEGESONgateway_db.*TOgateway_user%;FLUSHPRIVILEGES;后续业务系统使用gateway_user连接即可。10. 开放防火墙端口如果需要从其他机器访问数据库需要开放4886端口sudofirewall-cmd --add-port4886/tcp--permanentsudofirewall-cmd--reload查看端口是否生效sudofirewall-cmd --list-ports如果当前环境关闭了 firewalld则需要根据实际网络策略确认安全组、ACL 或主机防火墙配置。11. 连接验证本机连接mysql-h127.0.0.1-P4886-ugateway_user-pgateway_db远程连接mysql -h数据库服务器IP-P4886-ugateway_user-pgateway_db执行简单 SQL 验证CREATETABLEt_user(idBIGINTPRIMARYKEY,usernameVARCHAR(64),create_timeDATETIME);INSERTINTOt_userVALUES(1,polarx,NOW());SELECT*FROMt_user;如果能正常建表、插入和查询说明单机部署已经完成。12. 停止服务推荐使用mysqladmin停止mysqladmin-h127.0.0.1-P4886-uroot-pshutdown也可以查看进程后发送 TERM 信号ps-ef|grepmysqldkill-TERMmysqld_pid不建议直接使用kill -9除非进程已经无法正常退出。13. 常见问题13.1 初始化失败优先检查目录权限ls-ld/home/polarx/polardbx-enginels-ld/home/polarx/polardbx-engine/data如果目录不是polarx用户所有可以修复sudochown-Rpolarx:polarx /home/polarx/polardbx-engine13.2 找不到临时密码查看错误日志cat/home/polarx/polardbx-engine/log/alert.log|grep-ipassword如果日志为空或没有生成临时密码说明初始化可能没有成功完成需要先排查初始化日志。13.3 端口没有监听检查启动日志tail-n200/home/polarx/polardbx-engine/log/alert.log常见原因包括配置文件路径错误、目录不存在、端口被占用、数据目录已有残留文件。13.4 客户端连不上检查三点netstat-lntp|grep4886firewall-cmd --list-ports mysql-h127.0.0.1-P4886-uroot-p如果本机能连、远程不能连通常是防火墙、安全组或网络 ACL 问题。14. 小结通过 RPM 包在 CentOS 7.X 上单机部署 PolarDB-X核心步骤并不复杂下载 RPM 包 安装依赖 安装 RPM 创建运行用户 准备 my.cnf 使用 --initialize 初始化并生成 root 临时密码 启动 mysqld_safe 首次登录修改 root 密码 创建业务库和业务账号 执行 SQL 验证本文使用的是单机部署方式适合测试和学习。如果需要生产部署还需要补齐高可用、备份恢复、监控告警、日志采集、账号审计和故障演练等能力。生产环境建议优先参考官方 Kubernetes 部署方式。参考资料PolarDB 开源社区下载页https://openpolardb.com/downloadPolarDB-X 官方 RPM 部署文档https://doc.polardbx.com/deployment/topics/deploy-by-rpm-std.html