centos上 安装部署国产数据库阿里云自主研发的 Polardb-x 【emanlee】
参考:https://blog.csdn.net/GGBond_Max/article/details/149192341
1) PolarDB-X,高度兼容 MySQL,不是100%兼容MySQL。
2)没有Windows安装版本,只有Linux安装版。
3)MySQL是免费的(当前和今后),PolarDB-X当前用户和生态,当前免费以后不一定免费;
PolarDB for Xscale,简称“PolarDB-X”,是阿里云自主研发的高性能云原生分布式数据库产品,其采用 Shared-nothing 与存储计算分离架构,支持水平扩展、分布式事务、混合负载等能力,具备企业级、云原生、高可用、高度兼容 MySQL 系统及生态等特点。
1、下载官网中的rpm包
PolarDB_PolarDB社区_开源社区_数据库_阿里云
https://openpolardb.com/download

不能用wget下载,只能在网页上点击下载,之后,发送到centos服务器上 。
2、安装rpm包
yum install -y <下载的rpm>
yum install -y t-polardbx-engine-8.4.19-20241112.el7.x86_64.rpm
已加载插件:langpacks, nvidia
正在检查 t-polardbx-engine-8.4.19-20241112.el7.x86_64.rpm: t-polardbx-engine-8.4.19-20241112.el7.x86_64
t-polardbx-engine-8.4.19-20241112.el7.x86_64.rpm 将被安装
正在解决依赖关系
--> 正在检查事务
---> 软件包 t-polardbx-engine.x86_64.0.8.4.19-20241112.el7 将被 安装
--> 解决依赖关系完成
cuda-rhel7-11-0-local |
docker-ce-stable/x86_64 |
docker-ce-stable/x86_64/primary_db |
elrepo |
epel/x86_64/metalink |
https://nvidia.github.io/libnvidia-container/centos7/x86_64/repodata/repomd.xml: [Errno 14] HTTPS Error 404 - Not Found
正在尝试其它镜像。
To address this issue please refer to the below wiki article
https://wiki.centos.org/yum-errors
If above article doesn't help to resolve this issue please use https://bugs.centos.org/.
mysql-connectors-community/x86_64 |
mysql-connectors-community/x86_64/primary_db |
mysql-tools-community/x86_64 |
mysql-tools-community/x86_64/primary_db |
mysql56-community/x86_64 |
nux-dextop/x86_64 |
nvidia-container-runtime/x86_64/signature |
nvidia-container-runtime/x86_64/signature |
nvidia-docker/x86_64/signature |
nvidia-docker/x86_64/signature |
依赖关系解决
======================================================================================================================================================
Package 架构 版本 源
======================================================================================================================================================
正在安装:
t-polardbx-engine x86_64 8.4.19-20241112.el7 /t-polardbx-engine-8.4.19-20241112.el7.x86_64
事务概要
======================================================================================================================================================
安装 1 软件包
总计:2.8 G
安装大小:2.8 G
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装 : t-polardbx-engine-8.4.19-20241112.el7.x86_64 [############################################################################################################################################################## 正在安装 : t-polardbx-engine-8.4.19-20241112.el7.x86_64 1/1
Copying /u01/xcluster80_20241112_current to /u01/xcluster80
Copying /u01/xcluster80_20241112_current to /u01/xcluster80_20241112
验证中 : t-polardbx-engine-8.4.19-20241112.el7.x86_64 1/1
已安装:
t-polardbx-engine.x86_64 0:8.4.19-20241112.el7
完毕!
您在 /var/spool/mail/root 中有邮件
(base) [root@ibiomed software]#
您在 /var/spool/mail/root 中有邮件
(base) [root@ibiomed ~]# locate polardbx_engine
/opt/polardbx_engine
3、创建用于启动数据库的用户
- 
# 创建并切换到 polarx 用户
 - 
useradd -ms /bin/bash polarx
 - 
 - 
# 下面账号密码自己设置
 - 
echo "polarx:password@123" | chpasswd # 用户和密码
 - 
echo "polarx ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
 - 
setfacl -m u:polarx:rwx /data/software# 给用户读写执行权限 - 
su - polarx
 
4、创建数据目录
- 
 - 
cd /data/software
 - 
mkdir polardbx-engine # 给polarx权限。
setfacl -m u:用户名:rwx 目录路径 # 给用户读写执行权限setfacl -m u:polarx:rwx /data/software # 给用户读写执行权限 - 
cd polardbx-engine && mkdir log mysql run data tmp
 
5、编辑polardb-x的配置文件
vim my.cnf     # 也可以是polardbx.cnf 
配置文件示例和注解:
[mysqld] basedir = /opt/polardbx_engine # MySQL/PolarDB-X 引擎的安装目录(不建议更改) log_error_verbosity = 2 # 错误日志详细程度(0=错误,1=警告,2=信息) default_authentication_plugin = mysql_native_password # 设置默认的用户认证插件(此处使用传统的 mysql_native_password) # 开启 GTID(全局事务 ID)功能,方便主从复制和 failover gtid_mode = ON # 启用 GTID 模式 enforce_gtid_consistency = ON # 强制 GTID 一致性,禁止不兼容 GTID 的事务 # 启用二进制日志功能(用于复制、恢复等) log_bin = mysql-binlog # 设置二进制日志的文件名(前缀) binlog_format = row # 使用行级日志格式(比 statement 更精确) binlog_row_image = FULL # 记录完整的行镜像(所有字段) # 主从复制时的信息存储方式 master_info_repository = TABLE # 主库信息保存在数据库表中(更安全) relay_log_info_repository = TABLE # 从库 relay log 信息保存在数据库表中(更安全) # 以下配置项根据实际环境可修改 datadir = /data/software/polardbx-engine/data # 数据库存储目录(数据文件所在位置) tmpdir = /data/software/polardbx-engine/tmp # 临时文件目录(例如排序中间结果) socket = /data/software/polardbx-engine/tmp.mysql.sock # MySQL 使用的 socket 文件路径 log_error = /data/software/polardbx-engine/log/alert.log # 错误日志文件路径 port = 4886 # MySQL 实例监听的端口号 # PolarDB-X 特有配置 cluster_id = 1234 # 集群 ID(用于标识所属集群) cluster_info = 127.0.0.1:14886@1 # 集群元信息,格式为 IP:port@id # MySQL 服务的唯一标识(用于主从复制) server_id = 114 # 实例 ID(同一复制集群中不能重复)
6、对数据库进行初始化
注意如果配置文件my.cnf 不在当前目录,记得把命令的 my.cnf 改成绝对路径
cd /data/software/polardbx-engine
/opt/polardbx_engine/bin/mysqld --defaults-file=my.cnf --initialize-insecure
7、启动数据库
cd /data/software/polardbx-engine
/opt/polardbx_engine/bin/mysqld_safe --defaults-file=my.cnf &
初始化数据库会比较久,根据电脑性能相关,预计2-3分钟
8、登入数据库
su - polarx
如果服务器上已经安装过MySQL的话,可以直接通过:mysql -h127.0.0.1 -P4886 -uroot 来登入。没有的话 yum install mysql 需要下载一个MySQL的客户端
(base) [root@ibiomed ~]# su - polarx
上一次登录:二 9月  2 23:04:07 CST 2025pts/0 上
[polarx@ibiomed ~]$ mysql -h127.0.0.1 -P4886 -uroot
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 14
Server version: 8.0.32-X-Cluster-8.4.19-20241112 Source distribution
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> 
执行如下SQL语句,检查GMS。
select * from information_schema.schemata;
[polarx@ibiomed ~]$ mysql -h127.0.0.1 -P4886 -uroot
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
9、登入后更新root用户密码
alter user 'root'@'localhost' identified by '123456';
alter user 'root'@'localhost' identified by 'ti---16';mysql> SELECT host,user,password,Grant_priv,Super_priv FROM mysql.user; # Polardb-x 不能用 password,
SELECT host,user,Grant_priv,Super_priv FROM mysql.user;

mysql> UPDATE mysql.user SET Grant_priv='Y', Super_priv='Y' WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> GRANT ALL ON *.* TO 'root'@'localhost';
mysql> GRANT ALL ON *.* TO 'root'@'cn.cn.cn.cn';
user 'root'@'202.200.111.000' identified by 'ti---16';mysql> GRANT ALL ON *.* TO 'root'@'202.200.111.000';
ERROR 1410 (42000): You are not allowed to create a user with GRANT
user 'root'@'127.0.0.1' identified by 'ti---16';mysql> GRANT ALL ON *.* TO 'root'@'127.0.0.1';
ERROR 1410 (42000): You are not allowed to create a user with GRANT
mysql> FLUSH PRIVILEGES;
mysql> quit

10、创建一个新的用户用于外部连接
- 
CREATE USER 'admin'@'%' IDENTIFIED BY 'newpass123'; # 创建新的用户(admin是用户名、%表示所有ip可以登入、by''中的内容是用户admin 的密码)
 - 
GRANT ALL PRIVILEGES ON mydb.* TO 'newuser'@'%'; # 配置mydb这个数据库的所有权限(数据库.表)
 - 
FLUSH PRIVILEGES; # 刷新权限使其生效
 - 
SHOW GRANTS FOR 'admin'@'%'; # 查看是否成功写入
 
11、navicat连接polardb-x数据库

这里的端口和之前的my.cnf(polardbx.cnf)中的port配置对应

可通过 telnet 服务器地址 端口 验证
C:\Users\Administrator>telnet 202.200.112.000  4886
Connecting To 202.200.112.000...Could not open connection to the host, on port 4886: Connect failed
开启防火墙
#  firewall-cmd --permanent --zone=public --add-port=4886/tcp
#  firewall-cmd --reload
再次测试,结果如下:

user 'root'@'%' identified by 'tie---16';mysql> GRANT ALL ON *.* TO 'root'@'%';
mysql> FLUSH PRIVILEGES;
修改之后,可以成功连接。


                
            
        
浙公网安备 33010602011771号