目录

在Ubuntu服务器上安装KingbaseES-V009R002C012Orable兼容版数据库过程详细记录

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

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


1 KingbaseES数据库简介

电科金仓数据库管理系统KingbaseES是一款具有自主知识产权的国产关系型数据库,由中电科金仓(北京)科技股份有限公司 开发。作为国产数据库领域的领军企业,电科金仓深度参与了多个重点行业和关键领域的信息化建设,其产品以高性能、高安全性、高可用性著称,累计部署已超过100万套35。KingbaseES V009R002C012版本是其最新发布的一个重要更新,该版本在原有产品能力基础上,显著增强了对Oracle数据库的兼容能力,覆盖了SQL语法、PL/SQL功能、客户端接口等多个维度。官网地址:

https://i-blog.csdnimg.cn/direct/c2790d58223a48089a506cc8a7da63f0.png

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

https://i-blog.csdnimg.cn/direct/e53430cd4d9848d08d836014dbcb21ae.png

2 环境准备阶段

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

2.1 系统与硬件要求

https://i-blog.csdnimg.cn/direct/85c5f7b734d04c638266475feea9f7a9.png

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

https://i-blog.csdnimg.cn/direct/74cd071a411943de9480464d482b25ba.png

2.3 软件环境要求

KingbaseES支持通用X86_64、飞腾、鲲鹏、龙芯、申威等国产CPU硬件体系架构。 KingbaseES支持主流的64位Linux操作系统,如银河麒麟、中标麒麟、统信、欧拉、凝思、Deepin、中科方德、CentOS、Ubuntu等。

查看内存:free -m

查看磁盘空间大小:df -hl

https://i-blog.csdnimg.cn/direct/87f846b9115840f2b08968d2caf32a7f.png

2.3 安装依赖准备

首先需要更新系统并安装必要的依赖包,这可以确保系统具备运行KingbaseES所需的基础环境:

# 更新系统软件包列表
sudo apt-get update
# 安装必要的依赖库和工具
sudo apt-get install -y language-pack-zh-hans language-pack-zh-hant libaio1

https://i-blog.csdnimg.cn/direct/d175be24d6a34b93993d17a4866a00ea.png

2.4 创建安装用户

在安装KingbaseES时,安装用户对于安装路径需有“读”、“写”、“执行”的权限。在Linux系统中,需要以非root用户执行安装程序,且该用户要有标准的home目录。

因此,建议在正式安装前,新建kingbase用户作为KingbaseES专用的系统用户,您可以先使用root用户运行如下命令创建kingbase用户:

useradd -m kingbase

然后设置用户密码:

passwd kingbase

https://i-blog.csdnimg.cn/direct/f598e74a7ebc4ff5a8c04b74fef90fbc.png

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

https://i-blog.csdnimg.cn/direct/d3efd936b7e0410d962527a4bc6335c6.png

3 安装过程详解

完成环境准备后,我们就可以开始正式安装KingbaseES数据库了。本文将详细介绍从获取安装包到初始化配置的完整过程。

3.1 官方下载linux镜像

访问电科金仓官网( ),KingbaseEs数据库安装包(Oracle兼容)–>V9R2C12(Oracle兼容版) –> X64 Linux–>下载KingbaseES_V009R002C012B0003_Lin64_install.iso镜像,如下所示:

https://i-blog.csdnimg.cn/direct/ba1d9d5119204299acbc6b5fc609f73a.png

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

https://i-blog.csdnimg.cn/direct/1c74a99678e74b35a84aa3f24f144d35.png

3.2 授权文件对比

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

# 计算下载文件的MD5校验和
md5sum /mnt/tools/kingbase/KingbaseES_V009R002C012B0003_Lin64_install.iso
# 计算下载文件的SHA1校验和
sha1sum /mnt/tools/kingbase/KingbaseES_V009R002C012B0003_Lin64_install.iso

https://i-blog.csdnimg.cn/direct/ac04e72bb26b4ddd8182777844dbcf0e.png

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

https://i-blog.csdnimg.cn/direct/84347403f36a4fbd8188ddba251b77a3.png

https://i-blog.csdnimg.cn/direct/dfa0731cfea64dea883e0ed6d608c877.png

将计算结果与官网提供的校验值进行比对,确保完全一致后再进行后续操作。

3.3 挂载安装包

ISO格式的安装包需要先挂载才能访问其中的安装文件:

cd /mnt/tools/kingbase

mount KingbaseES_V009R002C012B0003_Lin64_install.iso ./KingbaseESV9

https://i-blog.csdnimg.cn/direct/a6098a0fe74c49619fcad9014e878d6e.png

如上图所示,挂载安装包报错了,不用慌,是因为没有创建 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

https://i-blog.csdnimg.cn/direct/58509d3ba73447468a6d4600a2a5b860.png

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

https://i-blog.csdnimg.cn/direct/690d9546dc6340f384954f2230da0442.png

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

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

https://i-blog.csdnimg.cn/direct/03b156bc5cdf4feaac4f5693e31f6060.png

这里又报错了,遇到了一个常见的安装问题: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

https://i-blog.csdnimg.cn/direct/efc3ae8c71794d9c9173cf4a343aa55c.png

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

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

https://i-blog.csdnimg.cn/direct/0f0d1220b13349c48d30b24b90fdc459.png

3.5 接受许可协议

输入quit,按退出安装;

输入back,按返回前一屏幕;

https://i-blog.csdnimg.cn/direct/fb8e683a0e544f2c8d27c7fcaec04959.png

直接按进行下一步操作。

若无特殊说明,以下各步骤皆与此相同。

https://i-blog.csdnimg.cn/direct/59dad9d6827a450e9f062e92f1158da8.png

3.6 安装包选择

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

https://i-blog.csdnimg.cn/direct/84349f4c95634add9c537b0845a741c2.png

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

https://i-blog.csdnimg.cn/direct/4fae165978524eeab961b36169d3ddba.png

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

https://i-blog.csdnimg.cn/direct/f0caa489834a459f8f2827c8e88654bc.png

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

https://i-blog.csdnimg.cn/direct/016efbba92af43f8a229d0410f1191dd.png

然后继续执行,注意这里要指定bat文件,不能只到文件文件夹,如下图所示:

/opt/Kingbase/ES/V9/license.dat

第一次是上面命令,我这里第二次安装文件是:/data/Kingbase/ES/V9/license.dat

https://i-blog.csdnimg.cn/direct/40a94a0bf8344b0394314b9b66aa7634.png

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

我重新安装目录是:/data/Kingbase/data

https://i-blog.csdnimg.cn/direct/d85949b3e1394bc0bf88e3bca23a9dc1.png

3.8 初始化数据库

默认端口:54321(可自定义)

默认账户为:system(可自定义)

密码(自定义)

默认字符集编码为:UTF8(可选 default、GBK、GB2312、GB18030)

https://i-blog.csdnimg.cn/direct/60187263bae54003925d842623795dfe.png

  • 区域,可选值将随字符集编码选项发生变动。

    • 当字符集编码为 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)

https://i-blog.csdnimg.cn/direct/8e8e34740c484eaa90833b9a182b5a8b.png

  • 默认大小写敏感为:是(可选否)

  • 默认数据块大小为:8k(可选16k、32k)

  • 默认身份认证方法为scram-sha-256(可选 scram-sm3,sm4,sm3)

  • 自定义参数(自定义),可自由输入任何值,作为初始化数据库的参数

    有关数据库初始化参数,详情可见《KingbaseES服务器应用参考手册》第2章

    自定义特殊参数:(如果输入值包含以下某一项,请注意特殊情况)

https://i-blog.csdnimg.cn/direct/8a01b3aa7a294b0f8aca0082e60a9559.png

3.9 安装完成

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

https://i-blog.csdnimg.cn/direct/000e76897f594ab49d21cd7200958c68.png

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

https://i-blog.csdnimg.cn/direct/d6827d4cb9f340259dc02db3359071ee.png

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

https://i-blog.csdnimg.cn/direct/a337bd12bd334c0ea960ff9639871812.png

3.10 执行root.sh

如果想注册数据库服务为系统服务,您可以在安装并初始化数据库成功后,执行root.sh脚本来注册并启动数据库服务,具体步骤如下:

  1. 打开新终端;

  2. 切换到root用户;

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

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

    https://i-blog.csdnimg.cn/direct/65e258de681e4ebf9dcd270e185115b9.png

如果想启动或停止数据库服务,进入${安装目录}/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;

https://i-blog.csdnimg.cn/direct/d3717382be2f4a2f9650b6077fe87b35.png

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

https://i-blog.csdnimg.cn/direct/f47f75427e174d8794a2ebeabf6ce200.png

这个是安装整个流程总结,更多请查看官方文档:

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 是安装的目录,每个人的安装目录可能不一样,大家根据自己情况设置,

https://i-blog.csdnimg.cn/direct/f1aa689bc7f24b14b0acf11073ca3f4d.png

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数据库。如果在某个具体步骤遇到问题,请评论区告诉我具体的错误信息,我可以为您提供更详细的解决方案。

本文相关链接推荐: