一、简介
人大金仓数据库KingbaseES简称KES是一款国产数据库,具有开发板、标准版、专业版和企业版,目前版本有V8R3、V8R6和V9R1,支持单机部署和集群部署。
- 安装包和授权文件下载地址: https://www.kingbase.com.cn/download.html
- 官方帮助文档: https://bbs.kingbase.com.cn/document
二、KingbaseES V9 安装前准备
2.1 硬件要求:
KingbaseES 支持通用 X86_64、龙芯、飞腾、鲲鹏等国产 CPU 硬件体系架构。

2.2 软件环境要求:
KingbaseES 支持各种主流的 Linux 操作系统 64 位发行版本,包括 CentOS、中标麒麟、银河麒麟、统信 UOS、Deepin、凝思、中科方德、欧拉等操作系统。
2.3 资源规划
| 服务器配置 | CPU | 操作系统 | IP地址 |
|---|---|---|---|
| 16核32g200G | X86 Intel(R) Xeon(R) Silver 4214 CPU @ 2.20GHz | 麒麟 V10-带 GUI 桌面 | 172.24.0.156 |

2.4 安装包和授权文件准备
- 安装包和授权文件下载地址: https://www.kingbase.com.cn/download.html
⚠️: 授权文件版本之间存在差异,下载合适的授权版本;我这里以企业版进行演示


2.5 检查和配置环境
- 挂载磁盘,创建分区,指定数据目录
#格式化磁盘
mkfs.xfs /dev/sdb
#创建挂载目录
mkdir -p /home/application
#配置开机挂载
vim /etc/fstab
....
/dev/sdb /home/application ext4 defaults 0 0
#挂载磁盘
mount -a
#查看磁盘挂载
df -h- 关闭SELINUX
setenforce 0
sed -i "s#SELINUX=enforcing#SELINUX=disabled#g" /etc/selinux/config - 关闭firewalld
systemctl stop firewalld
systemctl disable firewalld- 修改系统资源限制参数
cat >> /etc/security/limits.conf << eof
root soft nofile 65535
root hard nofile 65535
root soft nproc 65535
root hard nproc 65535
root soft core unlimited
root hard core unlimited
* soft nofile 65535
* hard nofile 65535
* soft nproc 65535
* hard nproc 65535
* soft core unlimited
* hard core unlimited
eof
#进入到/etc/security/limits.d/下,删除 *-nproc.conf
cd /etc/security/limits.d/
rm -rf *-nproc.conf- 配置内核参数
cat >>/etc/sysctl.conf<<'EOF'
kernel.sem = 50100 64128000 50100 1280
fs.aio-max-nr = 1048576
fs.file-max = 6815744
vm.swappiness = 1
vm.overcommit_memory = 2
vm.overcommit_ratio=90
vm.dirty_ratio =2
vm.dirty_background_ratio=1
vm.min_free_kbytes = 512000
kernel.shmall = 1572864
kernel.shmmax = 6442450944
kernel.shmmni = 4096
net.ipv4.ip_local_port_range = 10000 65000
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
net.core.somaxconn=1024
net.core.netdev_max_backlog = 32768
net.core.wmem_default = 8388608
net.core.wmem_max = 16777216
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.tcp_keepalive_probes = 3
net.ipv4.tcp_keepalive_intvl = 30
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_max_tw_buckets = 6000
net.ipv4.tcp_max_syn_backlog = 65536
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 2
net.ipv4.route.gc_timeout = 100
net.ipv4.tcp_wmem = 8192 436600 873200
net.ipv4.tcp_rmem = 32768 436600 873200
net.ipv4.tcp_mem = 94500000 91500000 92700000
net.ipv4.tcp_max_orphans = 3276800
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 30
EOF
#使内核生效
sysctl -p- 配置时区
#设置时区
timedatectl set-timezone Asia/Shanghai三、图形化安装KingbaseES V9
3.1 创建kingbase用户并设置密码
useradd kingbase && echo "Srebro@sre2026" | passwd --stdin "kingbase" &>/dev/null3.2 创建kingbase所需目录
KingbaseES 默认的安装目录是/opt/Kingbase/ES/V9。如果不存在,您需要使用 root 用户先创建该目录,并赋
予 kingbase 用户对该目录的读写权限; 这里我们根据磁盘挂载,自定义安装路径;
#创建软件包目录
mkdir -p /home/application/KingbaseES/install
#创建安装目录
mkdir -p /home/application/KingbaseES/V9
#创建数据目录
mkdir -p /home/application/KingbaseES/data
#创建备份目录
mkdir -p /home/application/KingbaseES/backup
#创建归档目录:
mkdir -p /home/application/KingbaseES/archive
#设置目录的属主、属组、权限
chown -R kingbase:kingbase /home/application/KingbaseES/install
chown -R kingbase:kingbase /home/application/KingbaseES/V9
chown -R kingbase:kingbase /home/application/KingbaseES/data
chown -R kingbase:kingbase /home/application/KingbaseES/backup
chown -R kingbase:kingbase /home/application/KingbaseES/archive
chmod -R 775 /home/application/KingbaseES/install
chmod -R 775 /home/application/KingbaseES/V9
chmod -R 755 /home/application/KingbaseES/backup
chmod -R 755 /home/application/KingbaseES/archive
#注意⚠️数据目录权限,必须700
chmod -R 700 /home/application/KingbaseES/data
#验证权限
ls -l /home/application/KingbaseES | grep kingbase
3.3 上传数据库安装包iso、检查md5、挂载
- 切换到 root 用户下,以root用户身份将安装包上传到/home/application/KingbaseES/install 目录下
ls -l /home/application/KingbaseES/install
总用量 2904524
-rw-r--r-- 1 root root 2974226432 6月 17 23:22 KingbaseES_V009R001C010B0004_Lin64_install.iso- 检查和校验安装文件的md5值
md5sum KingbaseES_V009R001C010B0004_Lin64_install.iso
9b39aaceb8611b1bbc587274cb58f126 KingbaseES_V009R001C010B0004_Lin64_install.iso- 使用root用户挂载KES安装虚拟光盘文件。
挂载 iso 文件需要使用 root 用户
#挂载软件包
mount -o loop KingbaseES_V009R001C010B0004_Lin64_install.iso /mnt
#查看安装包下面目录结构
ls -l /mnt
总用量 7
dr-xr-xr-x 3 root root 2048 6月 26 2023 setup
-r-xr-xr-x 1 root root 4299 6月 26 2023 setup.sh
#复制挂载后的安装文件到/home/application/KingbaseES/install目录下。
mkdir -p /home/application/KingbaseES/install/KingbaseES_V009R001C010B0004_Lin64_install
cp -r /mnt/* /home/application/KingbaseES/install/KingbaseES_V009R001C010B0004_Lin64_install
#修改所有权、权限。
chown -R kingbase:kingbase /home/application/KingbaseES/install
chmod -R 775 /home/application/KingbaseES/install3.4 上传授权文件
- 切换到 root 用户下,以root用户身份将授权文件上传到/home/application/KingbaseES/install 目录下
ls -l /home/application/KingbaseES/install
总用量 2904524
drwxrwxr-x 3 kingbase kingbase 35 6月 25 15:04 KingbaseES_V009R001C010B0004_Lin64_install
-rwxrwxr-x 1 kingbase kingbase 2974226432 6月 17 23:22 KingbaseES_V009R001C010B0004_Lin64_install.iso
-rwxrwxr-x 1 kingbase kingbase 3799 6月 25 14:49 license_4_V009R001C-企业版-180天.dat- 修改所有权、权限
chown -R kingbase:kingbase /home/application/KingbaseES/install
chmod -R 775 /home/application/KingbaseES/install3.5 打开Linux桌面终端
- 以kingbase用户身份登陆Linux的桌面,在桌面上打开Linux终端界面。


- 图形化安装支持中文和英文的安装界面。根据操作系统的语言设置会显示对应语言的安装界面。可以执行如下命令查看操作系统的语言设置:
echo $LANG
如果系统显示值包含“zh_CN”,则为中文语言,安装程序会使用中文界面。否则,可以执行如下命令修改语言设置为中文:
export LANG=zh_CN.UTF-8接下来就可以开始进行KingbaseES的安装了。
3.6 安装数据库
进入安装程序setup.sh所在目录,执行如下命令
bash /home/application/KingbaseES/install/KingbaseES_V009R001C010B0004_Lin64_install/setup.sh
- 添加授权文件: /home/application/KingbaseES/install/license_3_V009R001C-企业版-180天.dat

- 选择安装路径:/home/application/KingbaseES/V9

- 选择完全安装
- 完全安装:包括数据库服务器、高可用组件、接口、数据库开发管理工具、数据库迁移工具、数据库部署工具。
- 服务器安装:仅包括数据库服务器。
- 定制安装:在数据库服务器、高可用组件、接口、数据库开发管理工具、数据库迁移工具、数据库部署工具所有组件中自由选择。

- 安装预览,确认后无误后,直接安装



- 创建创建方式,当前用户

- 注意⚠️ 需要勾选初始化数据库【保持默认】

3.7 创建数据库实例
- 创建新实例

- 配置实例名称
- 指定数据目录:/home/application/KingbaseES/data
- 端口号:54321
- 创建数据库system 用户密码
- 指定兼容模式: mysql
- 字符集: utf8
- 块大小:8
- 认证方式: scram-sha-256


- 执行,勾选 创建后注册为系统服务

- 切换到 root 用户下,手动执行脚本,用于把 kingbase 注册为 linux 系统服务

bash /home/kingbase/.kes_dbca/root-service-kes_instance.sh

3.8 配置kingbase用户环境变量
切换到 kingbase 用户下
su - kingbase
vim /home/kingbase/.bashrc
export PATH=/home/application/KingbaseES/V9/Server/bin:$PATH
export KINGBASE_HOME=/home/application/KingbaseES/V9/Server
export KINGBASE_DATA=/home/application/KingbaseES/data
export KINGBASE_PORT=54321
source /home/kingbase/.bashrc3.9 查看安装日志,验证是否安装成功
在 ${安装目录}/Logs 目录下,存在名称为”install.log” 的日志文件,其中记录了安装过程的所有信息。可以打开日志文件,查看如下所示安装结果信息判断是否安装正确
cat /home/application/KingbaseES/V9/install/Logs/KES_install.log
3.10 手动启动或停止数据库服务
- 切换到kingbase用户下
su - kingbase- 启动数据库服务
sys_ctl start
ss -tlunp | grep 54321
#查看主进程
ps -ef | grep kingbase- 停止数据库服务
sys_ctl stop- 查看数据库状态
sys_ctl status
sys_ctl: 正在运行服务器进程(PID: 4469)
/home/application/KingbaseES/V9/KESRealPro/V009R001C010/Server/bin/kingbase3.11 登录测试
- 切换到kingbase用户下
su - kingbase- 使用ksql 命令登录数据库
#登录测试数据是否正常
[kingbase@localhost ~]$ ksql -Usystem -d test -p54321
用户 system 的口令:
授权类型: 企业版.
输入 "help" 来获取帮助信息.
test=# select version();
version
-------------------------
KingbaseES V009R001C010
(1 行记录)
#退出
\q3.12 数据库一键调优
- 切换到kingbase用户下
su - kingbase
cd /home/application/KingbaseES/V9/SupTools/kb_modify_syscfg
./optimize_database_conf.shps: 脚本执行到最后可能会报错, bash: /sys_ctl:没有那个文件或目录 ,可以手动重启数据库,完成调优的生效
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 运维小弟