摘要: 本文详细介绍了国产数据库KingbaseES V009R002C012在Ubuntu 24.04.2系统上的安装配置过程。内容涵盖环境准备(系统要求、依赖安装、用户创建)、安装步骤(镜像下载、校验、挂载、权限处理)、初始化配置(端口设置、字符集选择)以及常见问题解决方案。特别强调了非root用户安装、中文字符集设置、授权文件处理等关键环节,并提供了数据库连接测试方法。该指南适用于需要从Oracle迁移到国产数据库的技术人员,展示了KingbaseES在兼容性、安全性和易用性方面的优势。
目录
[1 KingbaseES数据库简介](#1 KingbaseES数据库简介)
[2 环境准备阶段](#2 环境准备阶段)
[2.1 系统与硬件要求](#2.1 系统与硬件要求)
[2.3 软件环境要求](#2.3 软件环境要求)
[2.3 安装依赖准备](#2.3 安装依赖准备)
[2.4 创建安装用户](#2.4 创建安装用户)
[2.5 安装目录和数据存储目录](#2.5 安装目录和数据存储目录)
[3 安装过程详解](#3 安装过程详解)
[3.1 官方下载linux镜像](#3.1 官方下载linux镜像)
[3.2 授权文件对比](#3.2 授权文件对比)
[3.3 挂载安装包](#3.3 挂载安装包)
[3.4 开始启动安装程序](#3.4 开始启动安装程序)
[3.5 接受许可协议](#3.5 接受许可协议)
[3.6 安装包选择](#3.6 安装包选择)
[3.7 安装目录和数据目录设置](#3.7 安装目录和数据目录设置)
[3.8 初始化数据库](#3.8 初始化数据库)
[3.9 安装完成](#3.9 安装完成)
[3.10 执行root.sh](#3.10 执行root.sh)
[3.11 查看已安装的版本信息](#3.11 查看已安装的版本信息)
[4 使用体验](#4 使用体验)
[4.1 在线使用数据库](#4.1 在线使用数据库)
[4.2 常见问题排查](#4.2 常见问题排查)
1 KingbaseES数据库简介
电科金仓数据库管理系统KingbaseES是一款具有自主知识产权的国产关系型数据库,由中电科金仓(北京)科技股份有限公司 开发。作为国产数据库领域的领军企业,电科金仓深度参与了多个重点行业和关键领域的信息化建设,其产品以高性能、高安全性、高可用性 著称,累计部署已超过100万套35。KingbaseES V009R002C012版本是其最新发布的一个重要更新,该版本在原有产品能力基础上,显著增强了对Oracle数据库的兼容能力 ,覆盖了SQL语法、PL/SQL功能、客户端接口等多个维度。官网地址:电科金仓-成为世界卓越的数据库产品与服务提供商-电科金仓官网

该版本不仅在性能表现和功能完善度 上进行了持续优化,还为用户提供了更加平滑的迁移体验和更稳定高效的数据库服务。无论是从Oracle还是其他数据库迁移,新版本都提供了更为便捷的迁移工具和兼容性支持,大大降低了用户的学习成本和迁移难度。本文将详细介绍如何在Ubuntu服务器上安装、配置和体验这一强大的国产数据库系统,并通过实际测试展示其核心特性。

2 环境准备阶段
在开始安装KingbaseES之前,我们需要确保Ubuntu服务器环境满足安装要求并完成必要的准备工作。这一阶段的仔细准备将为后续的顺利安装奠定基础。
2.1 系统与硬件要求

KingbaseES支持在x86_64架构以及国产鲲鹏、飞腾等处理器上运行。对于测试环境,建议至少配置4核CPU、8GB内存和50GB存储空间 。如果是生产环境,应根据实际业务负载适当提高配置------建议不低于8核CPU、16GB内存,并采用SSD存储 以保证I/O性能4。操作系统方面,Ubuntu Server 18.04 LTS或更高版本均可良好支持,本文以Ubuntu 24.04.2 LTS 为例进行说明。

2.3 软件环境要求
KingbaseES支持通用X86_64、飞腾、鲲鹏、龙芯、申威等国产CPU硬件体系架构。 KingbaseES支持主流的64位Linux操作系统,如银河麒麟、中标麒麟、统信、欧拉、凝思、Deepin、中科方德、CentOS、Ubuntu等。
查看内存:free -m
查看磁盘空间大小:df -hl

2.3 安装依赖准备
首先需要更新系统并安装必要的依赖包,这可以确保系统具备运行KingbaseES所需的基础环境:
bash
# 更新系统软件包列表
sudo apt-get update
# 安装必要的依赖库和工具
sudo apt-get install -y language-pack-zh-hans language-pack-zh-hant libaio1

2.4 创建安装用户
在安装KingbaseES时,安装用户对于安装路径需有"读"、"写"、"执行"的权限。在Linux系统中,需要以非root用户执行安装程序,且该用户要有标准的home目录。
因此,建议在正式安装前,新建kingbase用户作为KingbaseES专用的系统用户,您可以先使用root用户运行如下命令创建kingbase用户:
bash
useradd -m kingbase
然后设置用户密码:
bash
passwd kingbase

2.5 安装目录和数据存储目录
KingbaseES默认的安装目录是 /opt/Kingbase/ES/V9。如果不存在,您需要使用root用户先创建该目录,并赋予kingbase用户对该目录的读写权限。
bash
# 创建主安装目录
sudo mkdir -p /opt/Kingbase/ES/V9
# 创建数据存储目录
sudo mkdir -p /kingbase/data
# 设置目录所有者为kingbase用户
sudo chown -R kingbase:kingbase /opt/Kingbase
sudo chown -R kingbase:kingbase /kingbase

3 安装过程详解
完成环境准备后,我们就可以开始正式安装KingbaseES数据库了。本文将详细介绍从获取安装包到初始化配置的完整过程。
3.1 官方下载linux镜像
访问电科金仓官网(KES-电科金仓官网),KingbaseEs数据库安装包(Oracle兼容)-->V9R2C12(Oracle兼容版) --> X64 Linux-->下载KingbaseES_V009R002C012B0003_Lin64_install.iso镜像,如下所示:

下载完成之后上传到自己要安装的服务器上,我这里的Ubuntu服务器,如下所示:

3.2 授权文件对比
对于下载的文件,建议进行完整性校验,以确保文件在传输过程中没有损坏:
bash
# 计算下载文件的MD5校验和
md5sum /mnt/tools/kingbase/KingbaseES_V009R002C012B0003_Lin64_install.iso
# 计算下载文件的SHA1校验和
sha1sum /mnt/tools/kingbase/KingbaseES_V009R002C012B0003_Lin64_install.iso

我这里是md5验证,获取的值:2ce383a9047cf9f8e4d6fe59946ad2ed 跟官网对比


将计算结果与官网提供的校验值进行比对,确保完全一致后再进行后续操作。
3.3 挂载安装包
ISO格式的安装包需要先挂载才能访问其中的安装文件:
bash
cd /mnt/tools/kingbase
mount KingbaseES_V009R002C012B0003_Lin64_install.iso ./KingbaseESV9

如上图所示,挂载安装包报错了,不用慌,是因为没有创建 KingbaseEsv9目录,创建之后重新执行即可。
bash
mkdir -p ./KingbaseEsv9
3.4 开始启动安装程序
命令行安装支持中文和英文的文字提示。根据操作系统的语言设置会显示对应语言的提示信息。您可以执行如下命令查看操作系统的语言设置:
bash
echo $LANG
如果系统显示值包含"zh_CN",则为中文语言,安装程序会显示中文内容。否则,您可以执行如下命令修改语言设置为中文:
bash
# 中文UTF-8
export LANG=zh_CN.UTF-8
# 英文UTF-8
export LANG=zh_US.UTF-8

特别注意:这里一定要查看自己系统的编码,不然后面安装的时候选择这个字符串没有,我亲自体验安装没有这个字符串,快安装完了提示报错(如下图所示),眼泪都要下来了,然后我重头来一次才安装成功。我这里的系统ubuntu,我这里设置伟en_US.UTF-8比较合适,因为中文有乱码不太适合,根据自己服务器情况选择。

进入到对应目录,开始运行安装
bash
# 进入您挂载的安装包目录
cd /mnt/tools/kingbase/KingbaseESV9
# 再次执行安装命令
./setup.sh -i console

这里又报错了,遇到了一个常见的安装问题:KingbaseES 安装程序要求使用非 root 用户运行。这是出于安全和管理权限的考虑。别担心,这个问题很容易解决。
1、在 Linux 系统上,为数据库服务创建独立的用户是一个好习惯,如果上面已经创建了用户请授权后直接使用。
bash
# 创建用户组
groupadd kingbase
# 创建用户并指定主组,同时创建家目录
useradd -g kingbase -m kingbase
# 为kingbase用户设置密码(请使用强密码)
passwd kingbase
系统会提示您输入并确认新密码,对应着操作即可。
2、将安装目录和数据目录的所有权赋予新创建的 kingbase
用户,确保该用户有足够的权限进行安装和写入数据。
bash
# 假设您计划的安装目录是 /opt/Kingbase/ES/V9,数据目录是 /kingbase/data
mkdir -p /opt/Kingbase/ES/V9
mkdir -p /kingbase/data
# 更改目录所有者
chown -R kingbase:kingbase /opt/Kingbase
chown -R kingbase:kingbase /kingbase
3、切换到 kingbase 用户进行安装:
bash
# 切换到 kingbase 用户,'-' 表示同时切换环境变量
su - kingbase

4、切换到 kingbase
用户后,再次进入安装脚本所在目录并执行安装命令。
bash
# 进入您挂载的安装包目录
cd /mnt/tools/kingbase/KingbaseESV9
# 再次执行安装命令
./setup.sh -i console

3.5 接受许可协议
输入quit,按<ENTER>退出安装;
输入back,按<ENTER>返回前一屏幕;

直接按<ENTER>进行下一步操作。
若无特殊说明,以下各步骤皆与此相同。

3.6 安装包选择
如下图所示,看自己情况选择,新手推荐安装1全部

3.7 安装目录和数据目录设置

如上图所示,又遇到问题了,芭比Q了,不用慌,这是安装KingbaseES V9时遇到了许可证(license)文件路径的问题。错误信息表明安装程序期望一个具体的license文件,但您提供的 /opt/Kingbase/ES/V9
是一个目录路径。

回到官网这里下载对应的授权文件,然后上传到自己服务器对应的目录

然后继续执行,注意这里要指定bat文件,不能只到文件文件夹,如下图所示:
bash
/opt/Kingbase/ES/V9/license.dat
第一次是上面命令,我这里第二次安装文件是:/data/Kingbase/ES/V9/license.dat

数据存储目录设置:注意这个目录一定要是空文件夹,我第一次安装目录是/kingbase/data
我重新安装目录是:/data/Kingbase/data

3.8 初始化数据库
默认端口:54321(可自定义)
默认账户为:system(可自定义)
密码(自定义)
默认字符集编码为:UTF8(可选 default、GBK、GB2312、GB18030)

-
区域,可选值将随字符集编码选项发生变动。
-
当字符集编码为 default 时,默认区域值为:default(可选 C)
-
当字符集编码为 UTF8 时,默认区域值为:zh_CN.UTF-8(可选 en_US.UTF-8、C)
-
当字符集编码为 GBK 时,默认区域值为:zh_CN.GBK(可选 C)
-
当字符集编码为 GB2312 时,默认区域值为:zh_CN.GB2312(可选 C)
-
当字符集编码为 GB18030 时,默认区域值为:zh_CN.GB18030(可选 C)
-

-
默认大小写敏感为:是(可选否)
-
默认数据块大小为:8k(可选16k、32k)
-
默认身份认证方法为scram-sha-256(可选 scram-sm3,sm4,sm3)
-
自定义参数(自定义),可自由输入任何值,作为初始化数据库的参数
有关数据库初始化参数,详情可见《KingbaseES服务器应用参考手册》第2章
自定义特殊参数:(如果输入值包含以下某一项,请注意特殊情况)

3.9 安装完成
出现以下字眼:successfully 恭喜您,安装成功!会得到一个启动root.sh命令

查看数据目录,会新增了很多文件,如下图:

同理,安装目录也会多了很多文件:

3.10 执行root.sh
如果想注册数据库服务为系统服务,您可以在安装并初始化数据库成功后,执行root.sh脚本来注册并启动数据库服务,具体步骤如下:
-
打开新终端;
-
切换到root用户;
-
运行${安装目录}/install/script/root.sh 。
bash/opt/Kingbase/ES/V9/install/script/root.sh
如果想启动或停止数据库服务,进入${安装目录}/Server/bin目录执行如下命令:
bash
#启动服务
sys_ctl -w start -D /data/Kingbase/data -l "/data/Kingbase/data/sys_log/startup.log"
#停止服务
sys_ctl stop -m fast -w -D /data/Kingbase/data
3.11 查看已安装的版本信息
进入${安装目录}/Server/bin目录,执行
bash
cd /kingbase/data/KESRealPro/V009R002C012/Server/bin
./kingbase -V;

可以看到kingbase (KingbaseES) V009R002C012,说明安装跟我们下载的版本一致!

这个是安装整个流程总结,更多请查看官方文档:4. 安装KingbaseES --- KingbaseES(Oracle兼容版)产品手册
4 使用体验
完成安装数据库后,我们就可以开始正式使用KingbaseES数据库了。
4.1 在线使用数据库
bash
# 切换到kingbase用户
su - kingbase
# 连接数据库
ksql -U SYSTEM -d test -p 54321
# 在数据库提示符下执行测试命令
SELECT version();
CREATE TABLE test_table(id INT, name VARCHAR(50));
INSERT INTO test_table VALUES(1, 'KingbaseES Test');
SELECT * FROM test_table;
上面如果没设置系统ksql命令,可以指定到安装目录执行
bash
/kingbase/data/KESRealPro/V009R002C012/Server/bin/ksql -U SYSTEM -d test -p 54321
其中,/kingbase/data/KESRealPro/V009R002C012 是安装的目录,每个人的安装目录可能不一样,大家根据自己情况设置,

4.2 常见问题排查
如果安装过程中遇到其他问题,可以检查以下内容:
-
检查磁盘空间:
bashdf -h
-
检查端口占用:
bashnetstat -tlnp | grep 54321
-
查看安装日志:
bashtail -f /tmp/setup.log
-
检查依赖库:
bashldd /opt/Kingbase/ES/V9/Server/bin/kingbase
-
手动启动数据库(如果服务启动失败):
bashsu - kingbase /opt/Kingbase/ES/V9/Server/bin/sys_ctl -D /kingbase/data start
按照以上步骤操作,您应该能够成功安装KingbaseES数据库。如果在某个具体步骤遇到问题,请评论区告诉我具体的错误信息,我可以为您提供更详细的解决方案。
本文相关链接推荐:
1、【金仓数据库征文】政府项目数据库迁移:从MySQL 5.7到KingbaseES的蜕变之路
2、【金仓数据库征文】学校AI数字人:从Sql Server到KingbaseES的数据库转型之路
3、电科金仓2025发布会,国产数据库的AI融合进化与智领未来
5、《一行代码不改动!用KES V9 2025完成SQL Server → 金仓"平替"迁移并启用向量检索》
6、《赤兔引擎×的卢智能体:电科金仓如何用"三骏架构"重塑AI原生数据库一体机》