装错 3 次金仓数据库!我终于摸透了 openEuler 下 KingbaseES V8R6C9B14 54321+54322 双端口隔离|完整步骤
作者: ShunWah
公众号: "shunwah星辰数智社"主理人。持有认证: OceanBase、MySQL、OpenGauss、崖山、金仓KingBase、KaiwuDB、亚信AntDBCA、翰高、GBase、Galaxybase、Neo4j、NebulaGraph、东方通TongTech、TiDB 等多项权威认证。
获奖经历: 崖山YashanDB YVP、浪潮KaiwuDB MVP、墨天轮 MVP、金仓社区KVA、TiDB社区MVA、NebulaGraph社区之星、IFClub星珩联盟·智库星系技术专家、ITPUB 技术专家,社区版主及布道师。在OceanBase&墨天轮征文大赛、OpenGauss、TiDB、YashanDB、Kingbase、KWDB、Navicat 征文等赛事中多次斩获一、二、三等奖,原创技术文章常年被墨天轮、CSDN、ITPUB 等平台首页推荐。

📖 前言:
🐘 刚把54321端口调通!我又在同一台机器装了金仓PG模式
事情是这样的——上周我刚熬完三个大夜,肝出了KingbaseES V8R6C9B14 MySQL模式,还在社区群里嘚瑟说"金仓安装也就这么回事,54321端口跑起来丝滑得很"。结果周一早上刚到公司,手里的冰美式还没喝第一口,产品经理一个夺命call打过来:“那个数据库啊,架构组临时改方案了,要PG模式。”
我当时直接原地石化:😱
懂的都懂,金仓这玩意儿最狠的一点就是——兼容模式一旦初始化,半毛钱都改不了。选错了就只有一条路:删库删目录,完完整整重装一遍。我看着上周刚搭好的54321端口MySQL环境,手指放在
rm -rf上的时候,心都在滴血。
行吧,谁让咱是干这行的呢。好在有了上次装MySQL的经验,这次重装主打一个轻车熟路。而且说实话,金仓骨子里本来就是PostgreSQL的底子,装PG模式才算是"回归本源"。
这次还是在同一台openEuler 22.03 LTS-SP4服务器上操作,为了和之前的MySQL模式彻底隔离不打架,我严格按照"程序数据分离"的老习惯,专门规划了一套全新的目录和端口:
- ✅ 上回MySQL模式:
/redo/Kingbase/ES/V8+/data/Kingbase/ES/V8+ 端口54321- ✅ 这回PG模式:
/redo/Kingbase/PG/V8+/data/Kingbase/PG/V8+ 端口54322
两套环境完全独立,互不干扰,以后想切哪个切哪个。下面就把这次重装的全过程,以及踩过的所有坑都记录下来。照着做,10分钟就能搞定,不用像我一样删库重装。

一、下载安装包
1.1 访问下载页面
打开金仓官网下载中心:https://www.kingbase.com.cn/download.html

1.2 选择版本
- 产品类型:KingbaseES
- 版本:V8R6C9B14
- 平台:X64_Linux
选择完整版 ISO 类型的全量安装包,含数据库主体功能、接口驱动、工具等全部内容。
下载验证

1.3 下载授权文件(License)
授权文件
V8R6C9B14
KingbaseES数据库授权文件分为开发版、标准版、专业版和企业版。根据版本定位不同,以数据库首次启动为首日开始计算,开发版时长限制为365天,标准版、专业版、企业版时长限制为90天。
在下载页面的同时,需要下载对应的授权文件(license.dat)。开发版授权文件最大连接数为 10,适用于学习和测试环境;企业生产环境建议选择企业版授权[reference:1]。

将下载好的 ISO 安装包和授权文件上传至服务器,假设存放路径为 /opt/software/。
二、安装前准备工作
2.1 环境检查与配置
- 支持的操作系统:CentOS 7.x、Red Hat 7.x/8.x、Ubuntu 20.04+ 等主流Linux发行版。
- 硬件要求:建议内存不低于2GB,磁盘空间不低于10GB。
- 系统依赖:检查并安装必要的依赖包(如libaio、libnsl等),具体可参考官方手册[reference:0]。
# 检查操作系统版本
```language
[root@openeuler-server ~]# cat /etc/os-release
NAME="openEuler"
VERSION="22.03 (LTS-SP4)"
ID="openEuler"
VERSION_ID="22.03"
PRETTY_NAME="openEuler 22.03 (LTS-SP4)"
ANSI_COLOR="0;31"
[root@openeuler-server ~]#

检查内存与磁盘空间
[root@openeuler-server ~]# free -h
total used free shared buff/cache available
Mem: 30Gi 1.9Gi 27Gi 44Mi 1.5Gi 28Gi
Swap: 7.5Gi 0B 7.5Gi
[root@openeuler-server ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs tmpfs 16G 0 16G 0% /dev/shm
tmpfs tmpfs 6.2G 9.0M 6.2G 1% /run
tmpfs tmpfs 4.0M 0 4.0M 0% /sys/fs/cgroup
/dev/mapper/openeuler_openeuler--server-root ext4 41G 35G 3.9G 91% /
tmpfs tmpfs 16G 0 16G 0% /tmp
/dev/sda2 ext4 920M 312M 545M 37% /boot
/dev/sdc1 ext4 98G 11G 83G 11% /redo
/dev/sdb1 ext4 98G 5.2G 88G 6% /data

2.2 创建kingbase用户
KingbaseES 不支持使用root用户安装,必须使用普通用户(建议命名为kingbase)执行安装[reference:1]。
[root@openeuler-server ~]# groupadd kingbase
[root@openeuler-server ~]# useradd -m -g kingbase kingbase
[root@openeuler-server ~]#

passwd kingbase # 设置密码
[root@openeuler-server ~]# passwd kingbase
更改用户 kingbase 的密码 。
新的密码:
重新输入新的密码:
passwd:所有的身份验证令牌已经成功更新。
[root@openeuler-server ~]#

密码需要输入两次,保证两次输入的密码相同
将kingbase用户加入wheel组(可选,便于sudo操作)
[root@openeuler-server ~]# usermod -aG wheel kingbase
[root@openeuler-server ~]#

2.3 创建安装目录与数据目录
按照安装目录为 /redo/Kingbase/PG/V8,数据目录为 /data/Kingbase/PG/V8。
使用root用户创建并授权新的软件和数据目录:
# 创建目录
# 授权给kingbase用户
[root@openeuler-server ~]# mkdir -p /redo/Kingbase/PG/V8
[root@openeuler-server ~]# mkdir -p /data/Kingbase/PG/V8
[root@openeuler-server ~]# chown -R kingbase:kingbase /data/Kingbase/PG/V8
[root@openeuler-server ~]# chown -R kingbase:kingbase /redo/Kingbase/PG/V8

注意:若安装时使用的是其他用户,请将上述命令中的
kingbase替换为实际用户名。
2.4 下载安装包与授权文件
访问 KingbaseES 下载中心,选择 V8R6C9B14 版本,X64_Linux 平台,下载完整版ISO安装包及对应的License授权文件[reference:2]。
授权文件
V8R6C9B14
KingbaseES数据库授权文件分为开发版、标准版、专业版和企业版。根据版本定位不同,以数据库首次启动为首日开始计算,开发版时长限制为365天,标准版、专业版、企业版时长限制为90天。

上传到服务器

# 进入下载目录(你的指定目录)
cd /redo/software
# 假设下载的文件名为 KingbaseES_V008R006C009B0014_Lin64_install.iso
# 以及 license_xxxxx.dat

[root@openeuler-server ~]# cd /redo/software/
[root@openeuler-server software]# ls
KingbaseES_V008R006C009B0014_Lin64_install.iso license_企业版.zip
[root@openeuler-server software]# pwd
/redo/software
[root@openeuler-server software]#

2.5 挂载ISO镜像
# 创建挂载点
```language
[root@openeuler-server software]# mkdir -p /mnt/kingbase_iso
[root@openeuler-server software]#

挂载ISO文件(以root用户执行)
[root@openeuler-server software]# ls
KingbaseES_V008R006C009B0014_Lin64_install.iso license_企业版.zip
[root@openeuler-server software]# mount -o loop KingbaseES_V008R006C009B0014_Lin64_install.iso /mnt/kingbase_iso/
mount: /mnt/kingbase_iso: WARNING: source write-protected, mounted read-only.
[root@openeuler-server software]#

验证挂载成功
[root@openeuler-server software]# ls -la /mnt/kingbase_iso
总用量 12
dr-xr-xr-x 3 root root 2048 9月 23 2024 .
drwxr-xr-x. 3 root root 4096 4月 4 11:24 ..
dr-xr-xr-x 2 root root 2048 9月 23 2024 setup
-r-xr-xr-x 1 root root 3932 9月 23 2024 setup.sh
[root@openeuler-server software]#

三、安装方式选择
你可以根据实际场景选择以下任一安装方式。
3.1 命令行安装(推荐)
若服务器未安装图形界面,安装程序会自动进入命令行交互模式,这是最常用的方式。
1. 启动安装程序
# 切换到kingbase用户
su - kingbase
```language
[root@openeuler-server ~]# su - kingbase
上一次登录: 二 4月 7 21:46:38 CST 2026 pts/0 上
Welcome to 5.10.0-295.0.0.198.oe2203sp4.x86_64
System information as of time: 2026年 04月 15日 星期三 09:27:03 CST
System load: 0.91
Memory used: 36.6%
Swap used: 3.1%
Usage On: 93%
Users online: 6
To run a command as administrator(user "root"),use "sudo <command>".
[kingbase@openeuler-server ~]$

3.2 进入挂载目录,启动安装程序
cd /mnt/kingbase_iso
./setup.sh -i console # -i console 强制使用命令行模式
[kingbase@openeuler-server ~]$ cd /mnt/kingbase_iso/
[kingbase@openeuler-server kingbase_iso]$ ls
setup setup.sh
[kingbase@openeuler-server kingbase_iso]$ ./setup.sh -i console
Now launch installer...
Preparing to install
Extracting the JRE from the installer archive...
Unpacking the JRE...
Extracting the installation resources from the installer archive...
Configuring the installer for this system's environment...
Verifying JVM........
Launching installer...
===============================================================================
管理实例
----
->1- 安装新实例
2- 修改现有实例
选择实例管理选项: 1
===============================================================================

===============================================================================
KingbaseES V8 (使用 InstallAnywhere 创建)
-------------------------------------------------------------------------------
正在准备控制台模式安装...
===============================================================================
请稍候
---
===============================================================================
简介
--
本安装程序将指导您完成 KingbaseES V8 的安装。
建议您在继续本次安装前,退出所有程序。
如果要回到前一屏幕进行更改,可输入“back”。
如果要取消本次安装,可随时输入“quit”。
KingbaseES Version: V8
Kingbase Type:BMJ-NO
Installer Version: V008R006C009B0014
Install DATE:202604150933
Kingbase Inc.
http://www.kingbase.com.cn
请按 <ENTER> 键继续:

一直同意:是否接受此许可协议条款? (Y/N): Y

===============================================================================
选择安装集
-----
请选择将由本安装程序安装的“安装集”。
->1- 完全安装
2- 客户端安装
3- 定制安装
输入“安装集”的号码,或按 <ENTER> 键以接受缺省值
: 1

3.3 安装设置
安装程序会依次提示以下信息,大部分可直接回车使用默认值,关键项如下:
| 提示项 | 推荐选择 | 说明 |
|---|---|---|
| 许可协议 | Y |
同意协议 |
| 选择安装集 | 1 (完全安装) |
完全安装包含数据库主体、接口驱动、工具等[reference:3] |
| License文件路径 | 输入 /redo/software/license_xxxxx.dat |
替换为实际路径 |
| 安装目录 | /redo/Kingbase/ES/V8 |
输入你指定的绝对路径 |
| 数据目录 | /data/Kingbase/ES/V8 |
输入你指定的绝对路径 |
3.4 初始化数据库(关键步骤)
此步骤决定数据库的兼容模式,请务必选择MySQL模式。
是否初始化数据库? (Y/N): Y 数据库服务端口 (默认: 54321): 54321 # 可自定义,注意防火墙放行 数据库管理员用户名 (默认: SYSTEM): SYSTEM # 建议保留 管理员密码: ****** # 务必牢记 确认密码: ****** 字符集编码: 1) UTF8 2) GBK 3) GB18030 选择 (1/2/3): 1 # 推荐UTF8 数据库兼容模式: 1) ORACLE 2) PG 3) MYSQL 选择 (1/2/3): 3 # 🔴 关键!选择MySQL模式 大小写敏感: 1) YES 2) NO 选择 (1/2): 2 # MySQL模式建议选NO(大小写不敏感) 存储块大小: 1) 8k 2) 16k 3) 32k 选择 (1/2/3): 1 # 默认8k即可[reference:4] 身份认证方法: 1) scram-sha-256 2) password 选择 (1/2): 1 # 推荐scram-sha-256(更安全)
选择授权文件
===============================================================================
选择授权文件
------
不选择授权文件,则使用软件自带试用版授权
提示:请在有效期内及时更换正式授权文件。
文件路径 : /redo/software/license_29296/license_29296_0.dat
License序列号 --- 启用 --- 5B9512C0-C2DA-11ED-B123-000C29CBE49F
生产日期 --- 启用 --- 2023-03-15
产品名称 --- 启用 --- KingbaseES V8
细分版本模板名 --- 启用 --- SALES-企业版 V8R6
产品版本号 --- 启用 --- V008R006C
浮动基准日期 ------ 启用
有效期间 --- 启用 --- 90
用户名称 --- 启用 --- 官方网站试用授权
项目名称 --- 启用 --- 官方网站试用授权
CPU检查 --- 启用 --- 0
容器名称 --- 禁用 --- 0
MAC地址 --- 启用 --- 00:00:00:00:00:00
最大连接数 --- 启用 --- 0
分区 --- 启用 --- 0
物理同步 --- 启用 --- 0
读写分离模块 --- 启用 --- 0
恢复到指定时间点 --- 启用 --- 0
集群对网络故障的容错 --- 启用 --- 0
快速加载 --- 启用 --- 0
日志压缩 --- 启用 --- 0
全文检索 --- 启用 --- 0
性能优化包(性能诊断) --- 启用 --- 0
性能优化包(性能调优) --- 启用 --- 0
保密通讯协议 --- 启用 --- 0
审计 --- 启用 --- 0
三权分立 --- 启用 --- 0
透明加密 --- 启用 --- 0
强制访问控制 --- 启用 --- 0
列加密 --- 启用 --- 0
密码复杂度 --- 启用 --- 0
用户锁定 --- 启用 --- 0
集群管理软件 --- 启用 --- 0
集群配置工具 --- 启用 --- 0
集群高级管理包 --- 启用 --- 0
并行查询 --- 启用 --- 0
并行备份还原 --- 启用 --- 0
异构数据源 --- 启用 --- 0
日志解析 --- 启用 --- 0
GIS --- 启用 --- 0
日志解析为SQL --- 启用 --- 0
操作系统类型 --- 启用 --- 0
数据守护集群 --- 启用 --- 0
多活共享存储集群 --- 启用 --- 0
===============================================================================

===============================================================================
选择安装目录
------
请选择一个安装目录。
您想在哪一位置安装?
缺省安装文件夹: /opt/Kingbase/ES/V8
输入一个绝对路径,或按 <ENTER> 键以接受缺省路径
: /redo/Kingbase/PG/V8
安装文件夹为: /redo/Kingbase/PG/V8
是否正确? (Y/N): Y
===============================================================================
预安装摘要
-----
在继续执行前请检查以下信息:
产品名:
KingbaseES V8
安装文件夹:
/redo/Kingbase/PG/V8
产品功能部件:
数据库服务器,
接口,
数据库部署工具,
高可用组件,
数据库开发管理工具,
数据库迁移工具
安装空间磁盘信息
所需磁盘空间: 5378 MB 空闲磁盘空间: 81516 MB

请按 <ENTER> 键继续:
===============================================================================
准备就绪,可以安装
---------
本安装程序已准备完毕,可在下列位置安装 KingbaseES V8:
/redo/Kingbase/PG/V8
按 <ENTER> 键进行安装:
===============================================================================
正在安装...
-------
[==================|==================|==================|==================]
[------------------|------------------|------------------|------------------]
===============================================================================

===============================================================================
选择存储数据的文件夹
----------
请选择一个文件夹,该文件夹必须为空。
Data folder (默认﹕ /redo/Kingbase/PG/V8/data): /data/Kingbase/PG/V8/data
===============================================================================

===============================================================================
数据库端口
-----
请输入数据库服务监听端口,默认54321。
端口 (默认﹕ 54321): 54322
===============================================================================

===============================================================================
数据库管理员
------
请输入数据库管理员用户名。
User (默认﹕ system): system
===============================================================================
输入密码
----
本次安装需输入密码才能继续。
请输入密码: 请输入密码:*K8pweGwyNo&r3NZ*
===============================================================================
再次输入密码
------
本次安装需再次输入密码才能继续。
请再次输入密码: 请再次输入密码:*K8pweGwyNo&r3NZ*
*
===============================================================================

===============================================================================
数据库服务字符集
--------
请输入服务端字符集编码。
1- default
->2- UTF8
3- GBK
4- GB2312
5- GB18030
输入您选择的号码,或按 <ENTER> 键以接受缺省值:
===============================================================================

===============================================================================
区域
--
请输入数据库区域。
1- C
->2- zh_CN.UTF-8
3- en_US.UTF-8
输入您选择的号码,或按 <ENTER> 键以接受缺省值:
===============================================================================

===============================================================================
数据库兼容模式
-------
请输入数据库兼容模式。
1- PG
->2- ORACLE
3- MySQL
输入您选择的号码,或按 <ENTER> 键以接受缺省值: 1
===============================================================================

===============================================================================
字符大小写敏感特性
---------
请输入字符大小写敏感特性。
->1- YES
2- NO
输入您选择的号码,或按 <ENTER> 键以接受缺省值:
===============================================================================

===============================================================================
存储块大小
-----
请输入存储块大小。
->1- 8k
2- 16k
3- 32k
输入您选择的号码,或按 <ENTER> 键以接受缺省值:
===============================================================================

===============================================================================
存储块大小
-----
请输入存储块大小。
->1- 8k
2- 16k
3- 32k
输入您选择的号码,或按 <ENTER> 键以接受缺省值:
===============================================================================

===============================================================================
身份认证方法
------
请选择身份认证方法。
->1- scram-sha-256
2- scram-sm3
3- sm4
4- sm3
输入您选择的号码,或按 <ENTER> 键以接受缺省值:
===============================================================================

===============================================================================
自定义参数
-----
请输入自定义初始化数据库参数。
Custom (默认﹕ ):
===============================================================================
提示
--
数据库即将被安装,需要花费一些时间,请耐心等待。
请按 <ENTER> 键继续:
===============================================================================

===============================================================================
请稍候
---
===============================================================================
安装完成
----
恭喜!KingbaseES V8 已成功地安装到:
/redo/Kingbase/PG/V8
如果您需要将 KingbaseES V8 注册为系统服务,请运行
/redo/Kingbase/PG/V8/install/script/root.sh
按 <ENTER> 键以退出安装程序:
Complete.
[kingbase@openeuler-server kingbase_iso]$

3.5 安装后注册为系统服务
根据安装完成提示,若需将 KingbaseES V8 注册为系统服务,请按以下步骤操作:
切换到 root 用户,执行 root.sh 脚本
/redo/Kingbase/ES/V8/install/script/root.sh
执行该脚本后,数据库服务将被注册为系统服务,支持通过系统服务管理命令(如 systemctl)进行启停控制。
[kingbase@openeuler-server kingbase_iso]$ exit
注销
[root@openeuler-server ~]# /redo/Kingbase/PG/V8/install/script/root.sh
Starting KingbaseES V8:
等待服务器进程启动 .... 完成
服务器进程已经启动
KingbaseES V8 started successfully
[root@openeuler-server ~]#

再次切换至 kingbase 用户
[root@openeuler-server ~]# su - kingbase
上一次登录: 三 4月 15 09:59:36 CST 2026 pts/5 上
Welcome to 5.10.0-295.0.0.198.oe2203sp4.x86_64
System information as of time: 2026年 04月 15日 星期三 10:01:15 CST
System load: 0.59
Memory used: 36.8%
Swap used: 3.3%
Usage On: 93%

3.6 验证数据库服务
查看数据库进程
[kingbase@openeuler-server ~]$ ps -ef | grep kingbase
kingbase 524767 1 0 09:36 ? 00:00:00 /redo/Kingbase/ES/V8/KESRealPro/V008R006C009B0014/Server/bin/kingbase -D /data/Kingbase/ES/V8
kingbase 524768 524767 0 09:36 ? 00:00:00 kingbase: logger
kingbase 524770 524767 0 09:36 ? 00:00:00 kingbase: checkpointer
kingbase 524771 524767 0 09:36 ? 00:00:00 kingbase: background writer
kingbase 524772 524767 0 09:36 ? 00:00:00 kingbase: walwriter
kingbase 524773 524767 0 09:36 ? 00:00:00 kingbase: autovacuum launcher
kingbase 524774 524767 0 09:36 ? 00:00:00 kingbase: archiver last was 000000010000000000000004
kingbase 524775 524767 0 09:36 ? 00:00:00 kingbase: stats collector
kingbase 524776 524767 0 09:36 ? 00:00:00 kingbase: kwr collector
kingbase 524778 524767 0 09:36 ? 00:00:00 kingbase: ksh writer
kingbase 524779 524767 0 09:36 ? 00:00:00 kingbase: ksh collector
kingbase 524780 524767 0 09:36 ? 00:00:00 kingbase: logical replication launcher
root 524908 511992 0 09:37 pts/0 00:00:00 su - kingbase
kingbase 524909 524908 0 09:37 pts/0 00:00:00 -bash
kingbase 525033 524909 99 09:38 pts/0 00:00:00 ps -ef
kingbase 525034 524909 0 09:38 pts/0 00:00:00 grep --color=auto kingbase
[kingbase@openeuler-server ~]$

3.7 使用ksql连接测试(kingbase用户执行)
[kingbase@openeuler-server data]$ cd /redo/Kingbase/PG/V8/Server/bin
[kingbase@openeuler-server bin]$ ./ksql -p 54322 -U system test
输入 "help" 来获取帮助信息.
test=#

3.8 修改用户密码
test=#
test=# ALTER USER system WITH PASSWORD '1Qn!3XexL#^GEQjW';
ALTER ROLE
test=# exit

3.9 使用ksql连接测试(kingbase用户执行)
[kingbase@openeuler-server bin]$ ./ksql -p 54322 -U system test
用户 system 的口令:
输入 "help" 来获取帮助信息.
test=#

3.10 输入密码后,查看数据库版本
test=# SELECT version();
version
------------------------------------------------------------------------------------------
----------------------------
KingbaseES V008R006C009B0014 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623
(Red Hat 4.8.5-28), 64-bit
(1 行记录)
test=#

3.11 查看数据库当前模式 – 应显示 PG
test=# show database_mode;
database_mode
---------------
pg
(1 行记录)
test=#

3.12 在 test 数据库中创建名为 sixlens 的模式,可以使用以下 SQL 命令:
test=# CREATE SCHEMA sixlens;
CREATE SCHEMA
test=#
test=# \dn
架构模式列表
名称 | 拥有者
------------------+--------
anon | system
perf | system
public | system
sixlens | system
src_restrict | system
sys_catalog | system
sys_hm | system
sysaudit | system
sysmac | system
xlog_record_read | system
(10 行记录)
test=#
执行后,可以通过\dn命令验证模式是否创建成功

3.13 或者查询系统表:
SELECT schema_name FROM information_schema.schemata WHERE schema_name = 'sixlens';
test=# SELECT schema_name FROM information_schema.schemata WHERE schema_name = 'sixlens';
schema_name
-------------
sixlens
(1 行记录)
test=#

注意:当前用户
SYSTEM拥有创建模式的权限。创建后,后续在该模式下建表、视图等对象时,需要指定模式名前缀(如sixlens.表名),或者通过SET search_path TO sixlens, public;将sixlens设为默认模式。
四、配置环境变量 ⚙️
为了方便以后使用,我们把数据库的bin目录添加到系统PATH中。这样以后就不用每次都cd到bin目录下执行命令了。
4.1 检查当前bashrc配置
[kingbase@openeuler-server ~]$ grep -E 'KINGBASE|Kingbase' ~/.bashrc
[kingbase@openeuler-server ~]$

4.2 添加环境变量
⚠️ 这里有个小坑:很多教程里写的是/redo/Kingbase/ES/V8,但我们装的是PG模式,所以路径应该是/redo/Kingbase/PG/V8,别复制错了!我就是因为复制了之前MySQL模式的配置,又折腾了十分钟。
[kingbase@openeuler-server ~]$ echo 'export PATH=/redo/Kingbase/PG/V8/Server/bin:$PATH' >> ~/.bashrc
[kingbase@openeuler-server ~]$ echo 'export KINGBASE_HOME=/redo/Kingbase/PG/V8' >> ~/.bashrc
[kingbase@openeuler-server ~]$

4.3 重新加载配置文件
[kingbase@openeuler-server ~]$ source ~/.bashrc
[kingbase@openeuler-server ~]$

4.4 验证环境变量是否生效
[kingbase@openeuler-server ~]$ echo $KINGBASE_HOME
/redo/Kingbase/PG/V8
[kingbase@openeuler-server ~]$

[kingbase@openeuler-server ~]$ which ksql
/redo/Kingbase/PG/V8/Server/bin/ksql
[kingbase@openeuler-server ~]$
4.5 再次检查配置
[kingbase@openeuler-server ~]$ grep -E 'KINGBASE|Kingbase' ~/.bashrc
export PATH=/redo/Kingbase/PG/V8/Server/bin:$PATH
export KINGBASE_HOME=/redo/Kingbase/PG/V8
[kingbase@openeuler-server ~]$

4.6 测试直接使用ksql命令
现在我们在任意目录下都可以直接使用ksql命令了:
[kingbase@openeuler-server ~]$ ksql -p 54322 -U system test
用户 system 的口令:
输入 "help" 来获取帮助信息.
test=#

写在最后 🎉
恭喜!现在你已经在openEuler 22.03上成功跑起了KingbaseES V8R6C9B14 PG模式,而且还是和MySQL模式并存的双环境——54321跑MySQL,54322跑PG,一台服务器搞定两种兼容模式,以后测试兼容性再也不用开两台机器了。
说句真心话,装完PG模式我才明白什么叫"金仓的正确打开方式"。之前装MySQL模式的时候,总觉得哪里怪怪的——很多语法要改,很多函数不兼容,时不时还要踩个坑。但切换到PG模式后,那种丝滑的感觉一下子就回来了:写SQL不用再小心翼翼地考虑兼容问题,原来的PostgreSQL代码几乎不用改就能直接跑,连执行计划都长得一模一样。
最后给大家几个血泪总结的避坑建议:
- 装金仓前先想清楚要什么模式! 选错了只能重装,没有后悔药
- 不同模式一定要用不同的安装目录、数据目录和端口! 千万别混在一起,不然会出各种诡异的问题
- 环境变量一定要配对! 很多人踩坑都是因为复制了别人的路径,我这次就是因为一开始复制了MySQL的ES路径,又折腾了十分钟
- 优先选PG模式! 除非你的业务真的离不开MySQL/Oracle的特殊语法
如果觉得这篇文章帮你省了时间,别忘了点个赞加个关注,这对我这个靠爱发电的博主来说真的很重要!
📋 作者注:
本文全部实操、部署与功能验证,均基于 openEuler 22.03 (LTS-SP4) 系统落地完成,主要记录 KingbaseES V8R6C9B14 版本 PG 兼容模式的完整安装、配置、服务注册与基础功能测试全流程。目前该数据库版本仍在持续迭代优化,兼容语法、参数配置、交互提示等内容,可能随后续版本更新产生变动。建议大家正式上线部署前,仔细查阅人大金仓官方文档,以官网最新规范为准。
本文内容仅为个人经验分享,不代表厂商官方立场,所有内容仅作学习与参考使用。




