当前位置: 首页 > news >正文

在Ubuntu服务器上安装KingbaseES V009R002C012(Orable兼容版)数据库过程详细记录

摘要:本文详细介绍了国产数据库KingbaseES V009R002C012Ubuntu 24.04.2系统上的安装配置过程。内容涵盖环境准备(系统要求、依赖安装、用户创建)、安装步骤(镜像下载、校验、挂载、权限处理)、初始化配置(端口设置、字符集选择)以及常见问题解决方案。特别强调了非root用户安装、中文字符集设置、授权文件处理等关键环节,并提供了数据库连接测试方法。该指南适用于需要从Oracle迁移到国产数据库的技术人员,展示了KingbaseES在兼容性、安全性和易用性方面的优势。

目录

1 KingbaseES数据库简介

2 环境准备阶段

2.1 系统与硬件要求

2.3 软件环境要求

2.3 安装依赖准备

2.4 创建安装用户 

2.5 安装目录和数据存储目录

3 安装过程详解

3.1 官方下载linux镜像

3.2 授权文件对比

3.3 挂载安装包

3.4 开始启动安装程序

3.5 接受许可协议

3.6 安装包选择

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

3.8 初始化数据库

3.9 安装完成

3.10 执行root.sh

3.11 查看已安装的版本信息

4 使用体验

4.1 在线使用数据库

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所需的基础环境:

# 更新系统软件包列表
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用户:

useradd -m kingbase

然后设置用户密码:

passwd kingbase

2.5 安装目录和数据存储目录

KingbaseES默认的安装目录是 /opt/Kingbase/ES/V9 。如果不存在,您需要使用root用户先创建该目录,并赋予kingbase用户对该目录的读写权限。

# 创建主安装目录
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 授权文件对比

对于下载的文件,建议进行完整性校验,以确保文件在传输过程中没有损坏:

# 计算下载文件的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格式的安装包需要先挂载才能访问其中的安装文件:

cd /mnt/tools/kingbasemount KingbaseES_V009R002C012B0003_Lin64_install.iso ./KingbaseESV9

如上图所示,挂载安装包报错了,不用慌,是因为没有创建 KingbaseEsv9目录,创建之后重新执行即可。

mkdir -p ./KingbaseEsv9

3.4 开始启动安装程序

命令行安装支持中文和英文的文字提示。根据操作系统的语言设置会显示对应语言的提示信息。您可以执行如下命令查看操作系统的语言设置:

echo $LANG

如果系统显示值包含“zh_CN”,则为中文语言,安装程序会显示中文内容。否则,您可以执行如下命令修改语言设置为中文:

# 中文UTF-8
export LANG=zh_CN.UTF-8# 英文UTF-8
export LANG=zh_US.UTF-8

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

进入到对应目录,开始运行安装

# 进入您挂载的安装包目录
cd /mnt/tools/kingbase/KingbaseESV9
# 再次执行安装命令
./setup.sh -i console

这里又报错了,遇到了一个常见的安装问题:KingbaseES 安装程序要求使用非 root 用户运行。这是出于安全和管理权限的考虑。别担心,这个问题很容易解决。

1、在 Linux 系统上,为数据库服务创建独立的用户是一个好习惯,如果上面已经创建了用户请授权后直接使用。

# 创建用户组
groupadd kingbase
# 创建用户并指定主组,同时创建家目录
useradd -g kingbase -m kingbase
# 为kingbase用户设置密码(请使用强密码)
passwd kingbase

系统会提示您输入并确认新密码,对应着操作即可。

2、将安装目录和数据目录的所有权赋予新创建的 kingbase 用户,确保该用户有足够的权限进行安装和写入数据。

# 假设您计划的安装目录是 /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 用户进行安装:

# 切换到 kingbase 用户,'-' 表示同时切换环境变量
su - kingbase

4、切换到 kingbase 用户后,再次进入安装脚本所在目录并执行安装命令。

# 进入您挂载的安装包目录
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文件,不能只到文件文件夹,如下图所示:

/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脚本来注册并启动数据库服务,具体步骤如下:

  1. 打开新终端;

  2. 切换到root用户;

  3. 运行${安装目录}/install/script/root.sh 。

    /opt/Kingbase/ES/V9/install/script/root.sh

如果想启动或停止数据库服务,进入${安装目录}/Server/bin目录执行如下命令:

#启动服务
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目录,执行

cd /kingbase/data/KESRealPro/V009R002C012/Server/bin./kingbase -V;

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

这个是安装整个流程总结,更多请查看官方文档:4. 安装KingbaseES — KingbaseES(Oracle兼容版)产品手册

4 使用体验

完成安装数据库后,我们就可以开始正式使用KingbaseES数据库了。

4.1 在线使用数据库

# 切换到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命令,可以指定到安装目录执行

/kingbase/data/KESRealPro/V009R002C012/Server/bin/ksql -U SYSTEM -d test -p 54321

其中,/kingbase/data/KESRealPro/V009R002C012 是安装的目录,每个人的安装目录可能不一样,大家根据自己情况设置,

4.2 常见问题排查

如果安装过程中遇到其他问题,可以检查以下内容:

  1. 检查磁盘空间

    df -h
  2. 检查端口占用

    netstat -tlnp | grep 54321
  3. 查看安装日志

    tail -f /tmp/setup.log
  4. 检查依赖库

    ldd /opt/Kingbase/ES/V9/Server/bin/kingbase

  5. 手动启动数据库(如果服务启动失败)

    su - 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融合进化与智领未来

4、国产数据库逆袭:老邓的“六大不敢替”被金仓逐一破解

5、《一行代码不改动!用KES V9 2025完成SQL Server → 金仓“平替”迁移并启用向量检索》

6、《赤兔引擎×的卢智能体:电科金仓如何用“三骏架构”重塑AI原生数据库一体机》

7、探秘KingbaseES在线体验平台:技术盛宴还是虚有其表?

8、破除“分布式”迷思:回归数据库选型的本质

9、KDMS V4 一键搞定国产化迁移:零代码、零事故、零熬夜——金仓社区发布史上最省心数据库迁移评估神器

http://www.xdnf.cn/news/1407169.html

相关文章:

  • Qwen3_moe模型代码解析
  • FreeRTOS实战:任务创建与调度详解
  • 【MySQL自学】SQL语法全解(上篇)
  • 【PS实战】逐步打造静物的艺术色调(大学作业)
  • 从零开始搭建使用 TDengine:新用户快速上手指南
  • windows docker 中的mysql 无法被外部浏览器访问如何解决
  • 自动驾驶中的传感器技术37——Lidar(12)
  • Ansible 临时命令与常用模块实操指南
  • 【人工智能99问】LLaMA中的RoPE是什么?(35/99)
  • Paimon——官网阅读:Spark 引擎
  • Spark内存管理
  • Nginx 502 Bad Gateway:从 upstream 日志到 FastCGI 超时复盘
  • 腾讯浑元最新技术:具有表征对齐的多模态扩散,用于高保真拟音音频生成
  • 【嵌入式DIY实例】-空中鼠标
  • LeetCode算法日记 - Day 27: 计算右侧小于当前元素的个数、翻转对
  • 高校心理教育辅导系统的设计与实现|基于SpringBoot高校心理教育辅导系统的设计与实现
  • USB虚拟化应用5:VirtualFIDO2 虚拟硬件安全密钥,智能卡,yubico,支持X,FB,GITHUB等各种网站双重认证,让你的账户登录绝对安全
  • 在集群级别应用 Pod 安全标准
  • opencv 梯度提取
  • 数据化管理是什么意思?企业该如何进行数据化管理
  • 《SVA断言系统学习之路》【01】即时断言概览
  • 北京博乐科技有限公司2025届程序技术类笔试题
  • 性能测试工具-SkyWalking
  • 元宇宙与旅游产业:虚实融合的文旅新体验
  • Python毕业设计推荐:基于Django+MySQL的养老社区服务管理系统
  • 从 WPF 到 Avalonia 的迁移系列实战篇4:控件模板与 TemplatedControl
  • UniApp 基础开发第一步:HBuilderX 安装与环境配置
  • 【AI智能体技术】如何学习多智能体系统知识并实现SOTA算法?
  • SDL3.0 学习随笔:其一
  • 自底向上了解CPU的运算