一、电科金仓数据库安装包准备
在电科金仓官网中下载数据库安装包KingbaseES_V009R002C012B0003_Lin64_install.iso和授权文件license_V009R002C_oracle.dat(此次为官方临时授权下载,正版授权需要联系官网服务人员购买获取),KingbaseES访问地址:
在KingbaseES官网中找到>服务与支持>下载中心>KES,查看您需要的KingbaseES对应系统环境版本下载

KingbaseES数据库安装包选择授权文件,根据定位下载不同版本文件,本次安装根据需求下载了兼容Oracle相应软件版本和授权文件的KingbaseES


二、配置服务器环境
1.查询系统版本信息
---输入该命令确认系统是否为银河麒麟高级服务器 V10(Sword)
cat /etc/os-release
2.修改selinux文件配置
---输入该命令修改selinux状态
vim /etc/selinux/config
3.配置内核参数
---编辑文件/etc/sysctl.conf,添加或修改以下参数
vim /etc/sysctl.conf
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 系统:使内核参数修改和selinux状态生效,执行以下命令
reboot ---重启服务器命令
/sbin/sysctl -p ---执行校验
/sbin/sysctl -a ---执行校验
cat /etc/selinux/config ---查看selinux状态4.Linux 系统资源限制配置
限制用户可使用的资源数量,将nofile、noproc、core参数修改为如下值
# *表示所有用户,可只设置root和kingbase用户
vim /etc/security/limits.conf
* soft nofile 65536
# 注意cat /proc/sys/fs/nr_open数值,设置nofile的hard limit不能大于nr_open该参数,否则注销后将无法正常登陆
* hard nofile 65535
* soft nproc 65536
* hard nproc 65535
# unlimited表示无限制
* soft core unlimited
* hard core unlimited
5.配置RemoveIPC参数
systemd-logind服务引入了一线状,当一个用户退出系统后,会删除所有有关的IPC对象。该线状由/etc/systemd/logind.conf文件中的RemoveIPC参数控制。某些操作系统会默认打开,会造成程序信号丢失等问题(只有一些特殊的Linux的版本需要修改,改之前查看此配置是否为默认yes)。需要修改设置RemoveIPC=no。设置后需要重启服务
vim /etc/systemd/logind.conf
systemctl daemon-reload
systemctl restart systemd-logind.service
6.创建KingbaseES用户
---创建kingbase安装用户,设置密码uasy@i951
useradd -m -U kingbase && echo "kingbase:uasy@i951" | chpasswd7.创建KingbaseES安装及数据目录并配置权限
mkdir -p /king/kingbase/install ---数据库安装包及license文件存放目录
mkdir -p /king/kingbase/kingbaseES/V9 ---数据库软件目录
mkdir -p /king/kingbase/kingbaseES/V9/data ---数据库数据目录
mkdir -p /king/kingbase/backup ---数据库备份目录
chown -R kingbase.kingbase /king/kingbase ---赋予kingbase用户相应权限
8.将KingbaseES数据包上传至目录/king/kingbase/install

mkdir -p /mnt/kinges
mount /king/kingbase/install/KingbaseES_V009R002C012B0003_Lin64_install.iso /mnt/kinges/ ---挂载数据库镜像
cp -a /mnt/kinges/. /king/kingbase/install/ ---拷贝程序至软件目录
chown -R kingbase.kingbase /king/kingbase/install ---权限修改为kingbase用户
三、命令行安装KingbaseES数据库
1.启动安装程序
将root用户切换成kingbase用户
su - kingbase查看及设置语言,命令行安装支持中文和英文,如果系统显示值包含“zh_CN”则为中文语言
echo $LANG
export LANG=zh_CN.UTF-8执行安装命令
# 切换至软件目录下
[kingbase@localhost ~]$ cd /king/kingbase/install/
[kingbase@localhost install]$ ll
总用量 2669456
-rw-r--r-- 1 kingbase kingbase 2733508608 4月 28 00:44 KingbaseES_V009R001C002B0014_Lin64_install.iso
drwxrwxr-x 2 kingbase kingbase 33 6月 24 2024 license_41249
-rw-rw-r-- 1 kingbase kingbase 3676 6月 24 2024 license_41249_0.dat
-rw-r--r-- 1 kingbase kingbase 2739 4月 28 00:43 license_专业版.zip
dr-xr-xr-x 2 kingbase kingbase 91 9月 23 2024 setup
-r-xr-xr-x 1 kingbase kingbase 3932 9月 23 2024 setup.sh
# 执行shell
sh setup.sh -i console
2.安装过程各步骤操作
安装界面展示了 KingbaseES 版本和安装程序版本等信息。可输入quit退出安装,输入back返回前一屏幕,直接按回车键进行下一步操作

输入quit,按退出安装;
输入back,按返回前一屏幕;
直接按进行下一步操作。
按回车键翻页。输入y接受协议条款继续安装;输入n不接受则无法继续安装并提示重新选择许可协议,阅读完整许可协议。


选择KingbaseES安装集:
1、完全安装:包括数据库服务器、高可用组件、接口、数据库开发管理工具、数据库迁移工具、数据库部署工具。
2、客户端安装:包括接口、数据库开发管理工具、数据库迁移工具、数据库部署工具。
3、定制安装:在数据库服务器、高可用组件、接口、数据库开发管理工具、数据库迁移工具、数据库部署工具所有组件中自由选择
这一步选择完全安装输入1

选择授权文件
选择授权文件/king/kingbase/install/license_V009R002C_oracle.dat,不选择授权文件,则使用软件自带的试用版授权。

选择安装文件夹
默认安装路径为/opt/Kingbase/ES/V9,需修改为/king/kingbase/kingbaseES/V9。确认路径后,若目录已有内容,选择覆盖继续安装

您在此步骤会看到即将安装产品的摘要信息。包括:
产品名称。
安装文件夹。
指定安装的功能组件。
安装路径所在磁盘空间信息。
直接按回车键进行下一步操作


初始化数据库

设置如下初始化数据库参数:
默认端口为:54321(可自定义)

这里我选择的Oracle兼容版所以不用选择兼容的版本,如果安装的不是兼容版本的KingbaseES按照如下所说进行选择

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

输入密码:Easyw@y235*

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

区域,可选值将随字符集编码选项发生变动
当字符集编码为 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兼容模式

设置字符大小写敏感特性

设置存储块大小,这里选择Oracle的默认值16K

身份认证方法:根据需求去选择国密标准,此次为测试机选择国际通用类型

自定义参数:输入自定义初始化参数值,默认回车即可

数据库开始安装,等待一些时间完成后执行所需的脚本,需要使用root用户执行等待数据库启动成功


3.登录KingbaseES数据库
KingbaseES数据库启动有两种方式
第一、以root用户登录执行运行脚本

第二、切换成kingbase用户,执行服务启动命令
cd /king/kingbase/kingbaseES/V9/Server/bin/
./sys_ctl start -D /king/kingbase/kingbaseES/V9/data/
sys_ctl restart -D /king/kingbase/kingbaseES/V9/data/
sys_ctl start -D /king/kingbase/kingbaseES/V9/data/
sys_ctl stop -D /king/kingbase/kingbaseES/V9/data/
数据库启动完成后查看KingbaseES进程是否存在
ps -ef | grep kingbase
登录KingbaseES数据库,这里默认安装所以没有配置数据库按照默认test数据库以system用户登录,
输入的口令就是安装数据库中system配置成功的管理员密码登录即可
ksql -U system -W test -p 54321
将服务写入到service中启动数据库,添加二进制目录到 PATH 环境变量,编辑/etc/profile.d/kingbase.sh文件,将 KingbaseES 的二进制目录添加到PATH环境变量,赋予执行权限并使设置生效。执行以下命令:
vim /etc/profile.d/kingbase.sh
export PATH=$PATH:/king/kingbase/kingbaseES/V9/KESRealPro/V009R002C012/Server/bin/
chmod +x /etc/profile.d/kingbase.sh
source /etc/profile
echo $PATH | grep kingbase启动或停止数据库服务,通过查询进程命令来看结果
service kingbased start
service kingbased stop创建systemctl启动服务,将 KingbaseES写入到systems赋予执行权限使其生效
[root@localhost ~]# cat >> /etc/systemd/system/kingbase.service <<EOF
[Unit]
Description=Kingbase Database Server
After=network.target
[Service]
Type=forking
User=kingbase
Group=kingbase
ExecStart=/etc/init.d/kingbased start
ExecStop=/etc/init.d/kingbased stop
ExecReload=/etc/init.d/kingbased restart
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload ---重新加载 systemd 管理的单元文件
chmod +x /etc/systemd/system/kingbase.service ---授权为可执行文件
systemctl start kingbase.service ---启动kingbase
systemctl stop kingbase.service ---停止kingbase
systemctl enable kingbase.service ---开机自启kingbase
systemctl status kingbase.service ---查看kingbase服务状态