服务器安装polardb-x手把手教程
1.去这里下载我们指定的安装包
PolarDB_PolarDB社区_开源社区_数据库_阿里云 (polardbx.com)
https://www.polardbx.com/download
2.首先将t-polardbx-engine-8.4.19-20241112.el7.x86_64.rpm 放到/home目录下
3.清理环境
cd /home # 停止相关进程 sudo pkill -f 'mysqld_safe|mysqld' 2>/dev/null || true # 删除可能冲突的目录 sudo rm -rf /opt/polardbx_engine # 清理旧的安装目录 sudo rm -rf /data/polardbx # 清理旧的数据目录 # 删除可能存在的旧用户 sudo userdel -r polardbx 2>/dev/null || true sudo userdel -r polarx 2>/dev/null || true
4.安装RPM包
# 确保在home目录 cd /home # 列出文件确认存在 ls -lh t-polardbx-engine-8.4.19-20241112.el7.x86_64.rpm # 安装RPM包 sudo rpm -ivh t-polardbx-engine-8.4.19-20241112.el7.x86_64.rpm # 验证安装 echo "安装完成,检查安装结果:" rpm -qi t-polardbx-engine-8.4.19-20241112.el7.x86_64
5.确认安装位置
# RPM安装后文件默认在/opt/polardbx_engine echo "检查安装目录:" ls -la /opt/polardbx_engine/ # 查看bin目录 echo "查看可执行文件:" ls -la /opt/polardbx_engine/bin/
6.创建专用用户和目录
# 创建polarx用户
sudo useradd -r -m -s /bin/bash polarx
sudo echo "polarx:123456" | sudo chpasswd
# 添加sudo权限
sudo echo "polarx ALL=(ALL) NOPASSWD: ALL" | sudo tee -a /etc/sudoers
# 创建数据目录结构
sudo mkdir -p /data/polardbx/{data,tmp,log,run,conf,binlog,backup}
sudo chown -R polarx:polarx /data/polardbx
sudo chmod 750 /data/polardbx
echo "目录结构创建完成:"
ls -la /data/polardbx/
7.创建配置文件
# 切换到polarx用户 sudo su - polarx # 创建配置文件目录 mkdir -p /data/polardbx/conf
# 创建精简的my.cnf配置文件(保持/data/polardbx/目录) cat > /data/polardbx/conf/my.cnf <<'EOF' [mysqld] basedir = /opt/polardbx_engine datadir = /data/polardbx/data tmpdir = /data/polardbx/tmp socket = /data/polardbx/run/mysql.sock log_error = /data/polardbx/log/alert.log port = 4886 cluster_id = 1234 cluster_info = 127.0.0.1:14886@1 gtid_mode = ON enforce_gtid_consistency = ON [mysqld_safe] pid_file = /data/polardbx/run/mysql.pid EOF echo "配置文件创建完成:" ls -la /data/polardbx/conf/
8.启动数据库
/opt/polardbx_engine/bin/mysqld_safe --defaults-file=/data/polardbx/conf/my.cnf --user=polarx &
# 步骤5:等待启动并检查 sleep 5 echo "检查进程:" ps aux | grep mysqld | grep -v grep echo "检查端口:" netstat -tlnp | grep 4886 echo "查看启动日志:" tail -20 /data/polardbx/log/alert.log
9.故障排除脚本
cat > /home/polarx/check_dbeaver_connection.sh <<'EOF'
#!/bin/bash
echo "=== 检查 DBeaver 连接所需条件 ==="
echo "1. 数据库进程状态:"
ps aux | grep mysqld | grep -v grep
echo ""
echo "2. 端口监听状态:"
netstat -tlnp | grep 4886
echo ""
echo "3. 防火墙状态:"
sudo firewall-cmd --list-ports | grep 4886 || echo "端口4886未在防火墙中开放"
echo ""
echo "4. 用户权限检查:"
/opt/polardbx_engine/bin/mysql --socket=/data/polardbx/run/mysql.sock -uroot -pZnpt.6388@7590* -e "SELECT user, host FROM mysql.user WHERE user='root';"
echo ""
echo "5. 本地连接测试:"
/opt/polardbx_engine/bin/mysql -h127.0.0.1 -P4886 -uroot -pZnpt.6388@7590* -e "SELECT '✅ 本地连接成功' as test;" 2>/dev/null || echo "❌ 本地连接失败"
echo ""
echo "6. 远程连接测试 (使用服务器IP):"
/opt/polardbx_engine/bin/mysql -h10.170.246.43 -P4886 -uroot -pZnpt.6388@7590* -e "SELECT '✅ 远程连接成功' as test;" 2>/dev/null || echo "❌ 远程连接失败"
echo ""
echo "7. 配置文件检查:"
grep -E "(bind-address|port)" /data/polardbx/conf/my.cnf
echo ""
echo "=== DBeaver 连接信息 ==="
echo "主机: 10.170.246.43"
echo "端口: 4886"
echo "用户名: root"
echo "密码: xxxxxxx"
echo "数据库: znpt (或留空)"
echo ""
echo "驱动属性:"
echo " useSSL = false"
echo " allowPublicKeyRetrieval = true"
echo " serverTimezone = Asia/Shanghai"
echo " characterEncoding = UTF-8"
EOF
chmod +x /home/polarx/check_dbeaver_connection.sh
./check_dbeaver_connection.sh











