前言说明
PolarDB是阿⾥云数据库团队⾃主开发的云原⽣数据库。据了解PolarDB是产品品牌统称,云上PolarDB提供了Polardb MySQL版(集中式数据库),PolarDB PostgreSQL版(集中式数据库)和PolarDB分布式版(兼容MySQL)(简称:PolarDB- X) 三个产品版本,之前云上还有⼀个PolarDB兼容Oracle版,但已经与PolarDB-PG合并了。
PolarDB对PostgreSQL版和分布式版做了开源,开源PolarDB的站点:OpenPolarDB.com
下载
上次我测评了的OceanBase的安装,这次就对应选择PolarDB 分布式版。后来了解到PolarDB分布式版产品还存在企业版(分布式)和标准版(集中式)的版本区分,产品可能在往集中分布式⼀体化演进。
最近看到有多个⼈转发⽂章,说云上PolarDB -X标准版的很有性价⽐,和各家的云RDS对⽐都还很能打。这次我们不讲云数据库,只做开源的部署评测。既然都说它好,我们就先挑开源PolarDB -X的标准版(稳妥起⻅我选择了2.3.0的版本)做下部署测试。
补充说⼀下这是前⼏天做的,发现问题随即就把问题和建议反馈给了原⼚。所以我遇到的问题,等你去看的时候可能基本都没有了,也说明了PolarDB原⼚修改的速度和产品优化效率。
https://github.com/polardb/polardbx-engine/releases/
我选了2.3.0的版本
安装
从这个rpm的命令可以看出来是一键安装。
后面安装官方文档有这么几步,创建用户以及切换用户创建目录。这里其实可以把这些shell的命令,我觉得也可以放在rpm中。这样体验更好。那就是真的一键安装。
接下来按照文档的步骤执行初始化的步骤。但是这里我出错了。提示很明显,在默认路径下没有my.cnf. /home/polarx/polardbx-engine/my.cnf
其实这里实现是提示了。只是不够醒目。那我这里其实建议。如果在rpm的时候也顺带生成一下这个模板,那么即使安装的人没看到这个提示,也没关系。
于是手工创建后的确可以执行初始化命令了。
初始化结束,开始启动。又出错了。说在默认的/home/polarx/my.cnf找不到。也就是说这个和刚才的对不上。这个我也反馈了。
不过这种其实自己可以克服一下。(如果能改最好了),那我就直接写绝对路径。后来绝对路径可以了。 启动进程是3873。
然后就启动成功了。
然后按照文档步骤开始登录。又不行了。没有MySQL的客户端。问了以后才知道。官方自己安装了。我想起来以前最常听到的一句话(在我机器上是好的。哈哈)。没事,这就是环境不一样。写文档的同学自己有,就没考虑到裸机的情况。
自己安装客户端软件。
登录成功。
我用的是8.0.36的客户端,这里server是8.0.18.理解下来兼容的是MySQL8.0.18。
其实从这里看上去和MySQL一样,看不出来是Polardb的特殊的flag、官方同学表示:目前都是通过 select * from information_schema.alisql_cluster_global 或者show consensus logs 来区分是不是 PolarDB-X。后⾯会增加个select@@polardbx_engine_version 的指令来辨识版本。