前言
最近国产化替代越来越火,很多企业开始使用银河麒麟(Kylin)服务器系统 + 人大金仓(Kingbase)数据库的组合。但ARM架构的服务器安装过程可能会遇到一些坑,今天我就带大家一步步搞定它!
本文基于 银河麒麟高级服务器操作系统 V10(ARM架构) + 人大金仓 Kingbase V8,手把手教你安装和配置,避免踩坑!

一、准备工作
(1)硬件环境要求
KingbaseES 支持通用 X86_64、龙芯、飞腾、鲲鹏等国产 CPU 硬件体系架构。
CPU:X86、龙芯、飞腾、鲲鹏
内存:512M以上
硬盘:11GB以上空间
(2)软件环境要求
KingbaseES 支持各种主流的 Linux 操作系统 64 位发行版本,包括 CentOS、中标麒麟、银河麒麟、统信 UOS、 Deepin、凝思、中科方德、欧拉等操作系统。
本次安装操作系统环境:

(3)安装包准备
官网下载地址:https://www.kingbase.com.cn/download.html
根据自己需求下载对应的版本,我下载飞腾版本


校对md5值:

bash
[root@localhost ~]# md5sum KingbaseES_V008R006C009B0014_Aarch64_install.iso
02a64029d4345dd2da63280a74807b53 KingbaseES_V008R006C009B0014_Aarch64_install.iso
(4)检查和配置安装环境
①检查系统内存和磁盘空间
检查系统内存:
bash
[root@localhost ~]# free -h
total used free shared buff/cache available
Mem: 14Gi 1.8Gi 8.9Gi 73Mi 3.9Gi 10Gi
Swap: 7.9Gi 0B 7.9Gi
检查磁盘空间:
bash
[root@localhost ~]# df -hl
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 7.3G 64K 7.3G 1% /dev
tmpfs 7.3G 64K 7.3G 1% /dev/shm
tmpfs 7.3G 56M 7.3G 1% /run
tmpfs 7.3G 0 7.3G 0% /sys/fs/cgroup
/dev/mapper/klas-root 74G 15G 59G 21% /
tmpfs 7.3G 128K 7.3G 1% /tmp
/dev/sda2 1014M 196M 819M 20% /boot
/dev/sda1 599M 7.1M 592M 2% /boot/efi
tmpfs 1.5G 768K 1.5G 1% /run/user/0
②配置内核参数
编辑/etc/sysctl.conf文件修改内核参数,没有请添加,如下所示:
bash
fs.aio-max-nr= 1048576
fs.file-max= 6815744
kernel.shmall= 2097152
kernel.shmmax= 4294967295
kernel.shmmni= 4096
kernel.sem= 250 32000 100 128
net.ipv4.ip_local_port_range= 9000 65500
net.core.rmem_default= 262144
net.core.rmem_max= 4194304
net.core.wmem_default= 262144
net.core.wmem_max= 1048576

配置加载生效(或者可以重启系统):
bash
[root@localhost ~]# sysctl -p
kernel.sysrq = 0
net.ipv4.ip_forward = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.conf.all.secure_redirects = 0
net.ipv4.conf.default.secure_redirects = 0
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.icmp_ignore_bogus_error_responses = 1
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.tcp_syncookies = 1
kernel.dmesg_restrict = 1
net.ipv6.conf.all.accept_redirects = 0
net.ipv6.conf.default.accept_redirects = 0
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 4294967295
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
③配置系统资源使用参数
Linux 资源限制配置文件是/etc/security/limits.conf。限制用户可使用的资源数量对系统的稳定性非常重要。需要添加如下配置:
bash
* soft nofile 65536
* hard nofile 65535
* soft nproc 65536
* hard nproc 65535
* soft core unlimited
* hard core unlimited

④配置RemoveIPC 参数
systemd-logind 服务中引入的一个特性,是当一个用户退出系统后,会删除所有有关的 IPC 对象。该特性由/ etc/systemd/logind.conf 文件中的 RemoveIPC 参数控制。某些操作系统会默认打开,会造成程序信号丢失等问题 (只有 redhat7 及以上和一些特殊的国产 Linux 的版本需要修改,改之前可先查看此项是否为默认 yes)。设置 Re-moveIPC=no。设置后重启服务:
bash
systemctl daemon-reload
systemctl restart systemd-logind.service
Kylin-Server-V10-SP3-2403-Release-20240426-arm64版本此配置不用修改,默认为Re-moveIPC=no,不需要更改。

二、准备预安装环境
①创建安装用户
在安装 KingbaseES 时,安装用户对于安装路径需有"读"、"写"、"执行"的权限。在 Linux 系统中,需要 以非 root 用户执行安装程序,且该用户要有标准的 home 目录。 因此,建议在正式安装前,新建 kingbase 用户作为 KingbaseES 专用的系统用户,可以先使用 root 用户运行 如下命令创建 kingbase 用户以及同名用户组和用户根目录/home/kingbase:
bash
[root@localhost ~]# useradd -m kingbase
设置kingbase用户的密码:
bash
[root@localhost ~]# passwd kingbase
更改用户 kingbase 的密码 。
新的密码:
重新输入新的密码:
passwd:所有的身份验证令牌已经成功更新。
注:密码需要输入两次,保证两次输入的密码相同
③创建kingbase数据库安装目录
KingbaseES 默认的安装目录是/opt/Kingbase/ES/V8。如果不存在,需要使用 root 用户先创建该目录,并赋 予 kingbase 用户对该目录的读写权限。也可以自定义安装路径。
bash
[root@localhost ~]# mkdir -p /opt/Kingbase/ES/V8
[root@localhost ~]# cd /opt
[root@localhost opt]# chmod -R o+rwx Kingbase
④创建数据目录
数据目录是 KingbaseES 中存放数据文件的目录,默认是在安装目录下的 data 目录。也可以与安装目录分开单独 设置。可以根据业务系统数据量来单独设置数据目录路径。数据目录不必事先创建。安装过程中会提示指定数据目录,如果目录不存在安装程序会自动创建。
⑤挂载安装包
iso 格式的安装程序包需要先挂载才能使用。挂载 iso 文件需要使用 root 用户。根据自己的需求和系统情况选择挂载的目录,本次安装我挂载在/kingbase目录下。挂载完成之后,/kingbase目录下目录下可以看到 setup 目录和 setup.sh 脚本。
bash
[root@localhost ~]# mkdir /kingbase
[root@localhost ~]# mount /root/KingbaseES_V008R006C009B0014_Aarch64_install.iso /kingbase
mount: /kingbase: WARNING: source write-protected, mounted read-only.
[root@localhost ~]# cd /kingbase/
[root@localhost kingbase]# ls
setup setup.sh
安装完成取消挂载:
bash
su # 切换root用户
umount /kingbase # 取消挂载
三、安装Kingbase数据库
Kingbase数据库支持图形化UI安装、命令行安装和静默安装,本文安装的系统环境为银河麒麟服务器2403(arm架构)适合采用命令行安装的方式。
①启动安装程序安装
查看系统语言,如果输出如下测试中文语言
bash
[root@localhost kingbase]# echo $LANG
zh_CN.UTF-8
如果不是中文语言,执行如下命令设置:
bash
export LANG=zh_CN.UTF-8
切换kingbase用户安装,使用root用户无法安装:

②开始安装

③同意许可协议
开始安装之后一直按回车键,直到同意许可协议,输入'Y'同意许可

④选择安装集
根据自身生产环境选择安装集,本次本人选择完全安装,安装集官方说明如下:
完全安装:包括数据库服务器、高可用组件、接口、数据库开发管理工具、数据库迁移工具、数据库部署工具。
客户端安装:包括接口、数据库开发管理工具、数据库迁移工具、数据库部署工具。
定制安装:在数据库服务器、高可用组件、接口、数据库开发管理工具、数据库迁移工具、数据库部署工具所有组件中自由选择。

⑤选择授权文件
有授权文件输入授权文件路径即可,没有回车键使用软件自带的试用版授权。

⑥确定安装目录
没有特定需求选择默认路径:

⑦安装确认
回车键确认开始安装:

⑧初始化数据库
选择数据库数据目录,默认数据库数据目录为安装目录下的data目录。

设置如下初始化数据库参数:
默认端口为: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)
默认数据库兼容模式为:ORACLE(可选 PG、MySQL)
默认大小写敏感为:是(可选否)
默认数据块大小为:8k(可选16k、32k)
默认身份认证方法为scram-sha-256(可选 scram-sm3,sm4,sm3)
自定义参数(自定义),可自由输入任何值,作为初始化数据库的参数
自定义特殊参数:(如果输入值包含以下某一项,请注意特殊情况)
-c:初始化生成的配置文件会被加密,此时设置的端口值不会在初始化阶段进行修改,启动KingbaseES服务时将使用默认端口值54321。




⑨安装完成
安装过程中没有出现任何警告或错误,将显示如下界面:

最后建议reboot重启系统以完成全部安装。
四、注册数据库为系统服务
如果想注册数据库服务为系统服务,您可以在安装并初始化数据库成功后,执行root.sh脚本来注册并启动数据库服务。切换到root用户,运行${安装目录}/install/script/root.sh脚本注册数据库服务。
bash
[root@localhost install]# cd script/ && pwd
/opt/Kingbase/ES/V8/install/script
[root@localhost script]# ls
consoleCloud-uninstall.sh initcluster.sh javatools.sh rootDeployClusterware.sh root.sh rootuninstall.sh startupcfg.sh stopserver.sh
[root@localhost script]# ./root.sh
Starting KingbaseES V8:
等待服务器进程启动 .... 完成
服务器进程已经启动
KingbaseES V8 started successfully
如果想启动或停止数据库服务,进入${安装目录}/Server/bin目录执行如下命令:
bash
#启动服务
sys_ctl -w start -D ${Data文件目录} -l "${Data文件目录}/sys_log/startup.log"
#停止服务
sys_ctl stop -m fast -w -D ${Data文件目录}
五、安装后验证检查
在安装完成后,您可以通过以下几种方式进行安装正确性验证。
1.查看版本信息
进入${安装目录}/Server/bin目录,执行:
bash
[root@localhost Server]# cd bin/ && pwd
/opt/Kingbase/ES/V8/Server/bin
[root@localhost bin]# ./kingbase -V
KINGBASE (KingbaseES) V008R006C009B0014
2.查看安装日志
在${安装目录}/Logs目录下,存在名称为 "KingbaseES_V8_安装_安装时间.log" 的日志文件,其中记录了安装过程的所有信息。您可以打开日志文件,查看如下所示安装结果信息判断是否安装正确。
bash
[root@localhost Logs]# pwd
/opt/Kingbase/ES/V8/install/Logs
[root@localhost Logs]# ls
KingbaseES_V8_安装_07_18_2025_13_42_05.log ln.log postinstaller_debug.txt preinstaller_debug.txt

3.本地登录数据库验证
使用ksql工具登录数据库:
bash
ksql -U 用户名 -d 数据库名 -h 主机IP -p 端口

总结
本文详细介绍了 银河麒麟2403(ARM版)命令行方式安装人大金仓数据库 的全过程,如果你在安装过程中遇到其他问题,欢迎在评论区留言交流!🚀
希望这篇教程能帮到你!如果觉得有用,欢迎点赞收藏~ 😊