前言
在国产化替代的浪潮中,数据库作为IT基础设施的“心脏”,其自主可控程度直接决定了信息系统的安全边界。人大金仓KingbaseES凭借二十余年的技术沉淀,已成为国内政务云、能源调度、金融交易等核心场景中部署最广泛的国产关系型数据库之一。然而,在实际落地过程中,许多运维工程师和DBA在Linux安装人大金仓KingbaseES时仍会遇到依赖缺失、权限报错、初始化失败等棘手问题——尤其是面对Rocky Linux这类“非主流”但日益流行的RHEL下游发行版,官方文档往往缺乏针对性的指引。
这篇Linux安装人大金仓KingbaseES教程正是为此而生。笔者基于真实的生产部署经验,为你梳理出一条从零开始、步步验证的安装路径。无论你是第一次接触国产数据库,还是正将业务从Oracle迁移至KingbaseES,本文都将成为你手中一份“即拿即用”的实操手册。读完本文,你将不仅完成人大金仓KingbaseES安装,更能理解每一个命令背后的设计逻辑,为后续运维打下坚实基础。
一、人大金仓KingbaseES数据库是什么?
人大金仓KingbaseES(Kingbase Enterprise Server,简称KES)是由中电科金仓(北京)科技股份有限公司(原人大金仓)自主研发的企业级智能数据库管理系统。作为国家“核高基”重大专项的成果之一,KingbaseES拥有完全自主知识产权,代码自研率超过90%,是国内少数通过国家信息安全测评(EAL4+级)的数据库产品。
KingbaseES V9作为最新长期支持版本,在架构设计上走出了“单纯兼容”的初级阶段,形成了三大差异化能力:
多模态融合引擎:在同一内核中同时支持关系模型、时空地理模型、时序模型、文档模型(JSON/XML)以及向量检索能力。这意味着你可以用一套数据库支撑OLTP、轻量分析、GIS应用和AI特征检索,无需为不同数据形态搭建多套存储系统。
智能自适应优化:引入基于机器学习的基数估计和代价模型,能够根据实际运行负载自动调整执行计划,避免因统计信息陈旧导致的性能抖动。在500GB以上数据量的TPC-C类场景中,性能稳定性较上一代提升约30%。
全栈国密支持:内置符合国密标准的透明加密引擎,支持表空间级、列级的加密配置,并通过了与鲲鹏、飞腾、龙芯等国产芯片以及统信、麒麟操作系统的深度兼容认证,是信创项目中“适配清单”上的常客。
相较于单纯将KingbaseES视为“国产PostgreSQL”,更准确的定位是:它是一套为政企级混合负载场景设计的融合型数据库平台,其价值不仅在于语法兼容,更在于对国产软硬件栈的深度优化和运维体系的完整配套(如提供图形化管理工具KDMS、迁移评估工具KDTS等)。
二、人大金仓KingbaseES数据库安装包下载
在开始Linux安装人大金仓KingbaseES教程之前,首先需要获取KingbaseES V9的Linux安装包。
通过网盘分享的文件:人大金仓 Linux安装包
链接:https://pan.baidu.com/s/1s11edgMmUFNWrrcunUHdJA?pwd=3y8q
三、人大金仓KingbaseES数据库安装环境要求
本教程的安装环境为Rocky Linux 9操作系统。Rocky Linux作为CentOS的“正统续作”,免费、稳定、兼容RHEL、提供十年支持,是生产环境的理想选择。
Rocky Linux安装参考:https://www.cnblogs.com/dbbull/p/20910634
硬件与系统要求:
| 项目 | 最低要求 | 生产环境推荐 |
|---|---|---|
| CPU | X86_64 / 龙芯 / 飞腾 / 鲲鹏 | 8核及以上,主频2.0GHz以上 |
| 内存 | 512MB | 16GB-32GB以上 |
| 硬盘 | 11GB以上可用空间 | SSD,建议配置RAID 10 |
| 操作系统 | Rocky Linux 9 / CentOS 7/8 / 麒麟V10等 | 国产主流操作系统 |
四、人大金仓KingbaseES数据库安装教程
以下步骤将带你完成Linux安装人大金仓KingbaseES教程的完整操作。所有命令均基于Rocky Linux 9环境验证通过。
步骤1:root用户创建相关目录并安装依赖
首先使用root用户登录服务器,创建KingbaseES的安装目录和软件存放目录。
# KingbaseES安装目录mkdir-p/opt/Kingbase/ES/V9chmodo+rwx /opt/Kingbase/ES/V9# 存放软件mkdir-p/opt/software/mkdir-p/opt/software/KingbaseESV9说明:
chmod o+rwx赋予其他用户对该目录的读写执行权限,确保后续kingbase用户能够正常写入。
安装必要的系统依赖包:
# 安装EPEL仓库和CRB仓库(Rocky Linux 9所需)sudodnfinstall-yepel-releasesudodnf config-manager --set-enabled crb# 安装libxcrypt兼容库(KingbaseES V9依赖)sudodnfinstalllibxcrypt-compat-y步骤2:root用户上传文件
将下载好的KingbaseES V9安装包(ISO格式)上传到服务器。
cd/opt/software/# 安装lrzsz工具用于文件上传yuminstalllrzsz-y# 执行rz命令,在弹出的窗口中选择本地安装包文件上传rz步骤3:root用户安装包挂载
ISO格式的安装包需要先挂载才能使用。
cd/opt/software/# 挂载ISO文件到KingbaseESV9目录mountKingbaseES_V009R001C010B0004_Lin64_install.iso ./KingbaseESV9步骤4:root用户创建kingbase用户并设置密码
KingbaseES必须以非root用户身份执行安装。
# 创建kingbase用户(同时创建同名用户组和home目录)useradd-m-s/bin/bash-Ukingbase# 设置密码echo'Kingbase@123'|sudopasswd--stdinkingbase说明:
-m创建home目录,-s /bin/bash指定默认shell,-U创建与用户名同名的用户组。
步骤5:kingbase用户执行数据库安装命令
切换到kingbase用户,执行命令行安装。
# 切换到kingbase用户su- kingbase# 进入挂载目录cd/opt/software/KingbaseESV9# 执行命令行安装shsetup.sh-iconsole===============================================================================选择安装类型 ----1- 安装新实例2- 修改已有实例 请输入[1]安装新实例,[2]修改已有实例,[Q]退出当前修改程序[默认:1]#输入1,然后按Enter键===============================================================================欢迎使用KingbaseES安装程序 ---- 欢迎使用本安装程序! 本安装程序旨在为您提供方便快捷的安装体验。 在开始安装之前,请注意以下几点: 退出应用程序: 在安装过程中,我们建议退出所有正在运行的应用程序, 以确保安装程序顺利进行,您可以在安装完成后重新打开这些应用程序。 保存文档: 在继续本次安装之前,请确保您已保存并关闭所有打开的文档。 这可以防止因安装过程中需要重启电脑而导致数据丢失。 可能需要重启: 本次安装可能需要重启您的电脑以完成安装过程。 请不要担心,这是为了确保安装的完整性和稳定性。 安装程序会在需要重启时提醒您。 安装前准备: 在继续安装之前,建议您查看安装程序提供的系统要求和注意事项, 这将有助于您顺利完成安装并获得最佳使用体验。 谢谢您使用KingbaseES, 如果您在安装过程中遇到任何问题或需要帮助,请随时联系我们的技术支持团队。 祝您使用愉快! 按下[ENTER]下一步,[Q]退出程序[默认:<ENTER>]#按Enter键===============================================================================许可协议 ----....省略....请输入[1]接受,[2]拒绝,[3]重新展示:#输入1,然后按Enter键===============================================================================添加Licence ---- 不选择授权文件,则使用软件自带试用版授权 提示:请在有效期内及时更换正时授权文件 输入授权文件地址:[默认:]#按Enter键输入字母N进入下一步, 输入字母P返回上一步, 输入字母Q退出修改程序[默认: N]#按Enter键===============================================================================选择安装路径 ---- 请选择一个安装目录。 您想在哪一个位置安装? 缺省安装文件夹: /opt/Kingbase/ES/V9 输入一个绝对路径,或按ENTER键以接受缺省路径[默认: /opt/Kingbase/ES/V9]#按Enter键----------------------------------------------------- 安装文件夹为:/opt/Kingbase/ES/V9 是否正确?(Y/N)请选择 ----------------------------------------------------- 输入 Y 是, N 否:[默认: Y]#按Enter键输入字母N进入下一步, 输入字母P返回上一步, 输入字母Q退出修改程序[默认: N]#按Enter键===============================================================================选择安装集 ----1- 完全安装 最常用的应用程序功能组件。建议大多数用户采用此选项。2- 服务器安装 只安装数据库服务。3- 定制安装 选择此选项以定制要安装的功能部件。 输入“安装集”的号码,或按ENTER键以接受缺省值[默认:1]#按Enter键===============================================================================安装预览 ---- 安装目录: /opt/Kingbase/ES/V9 已安装组件: 引导组件 产品手册 数据库运维工具 数据库服务器 高可用组件 接口 数据库集群部署工具 数据库迁移工具 数据库开发工具(CS)未安装组件: 磁盘空间信息(用于安装目标)所需空间:2,992.35 MB, 可用空间:3,992.74 GB 输入字母N进入下一步, 输入字母P返回上一步, 输入字母Q退出修改程序[默认: N]#按Enter键===============================================================================安装进度 ----====开始安装 架构:6.0.0-SNAPSHOT-1461c(kInstaller)平台: linux,version=3.10.0-862.el7.x86_64,arch=x64,symbolicName=null,javaVersion=1.8.0_262[Starting to unpack][Processing package:install(1/9)][Processing package: doc(2/9)][Processing package: Suptools(3/9)][Processing package: Server(4/9)][Processing package: KingbaseHA(5/9)][Processing package: Interface(6/9)][Processing package: DeployTool(7/9)][Processing package: KDTS(8/9)][Processing package: KStudio(9/9)][Unpacking finished]安装完成[Starting processing]Starting process modifyexecute(1/3)Starting process modifyFiles(2/3)The beginning of Repair File Contents. Running modifyFilesValue.sh... Repair File Contents Finish. Starting process packtools(3/3)安装成功100%===============================================================================快捷方式 ---- ------ 创建快捷方式 ------ 输入 Y 是, N 否:[默认: Y]#按Enter键创建快捷方式属主:1:当前用户;2:所有用户[默认:1]#按Enter键选择快捷方式的程序组:[默认: KingbaseESV009R001]#按Enter键===============================================================================恭喜您!安装完成 ---- 恭喜您!安装完成 安装目录: /opt/Kingbase/ES/V9 引导组件:/opt/Kingbase/ES/V9/KESRealPro/V009R001/install 产品手册:/opt/Kingbase/ES/V9/KESRealPro/V009R001/doc 数据库运维工具:/opt/Kingbase/ES/V9/KESRealPro/V009R001/SupTools 数据库服务器:/opt/Kingbase/ES/V9/KESRealPro/V009R001/Server 高可用组件:/opt/Kingbase/ES/V9/KESRealPro/V009R001/KingbaseHA 接口:/opt/Kingbase/ES/V9/KESRealPro/V009R001/Interface 数据库集群部署工具:/opt/Kingbase/ES/V9/KESRealPro/V009R001/ClientTools/guitools/DeployTools 数据库迁移工具:/opt/Kingbase/ES/V9/KESRealPro/V009R001/ClientTools/guitools/KDts 数据库开发工具(CS):/opt/Kingbase/ES/V9/KESRealPro/V009R001/ClientTools/guitools/KStudio 如需初始化数据库,请启动Kconsole: /opt/Kingbase/ES/V9/Server/bin/kconsole.sh 手动初始化数据库: /opt/Kingbase/ES/V9/Server/bin/initdb-U"system"-W-D"/opt/Kingbase/ES/V9/data"[Writing the uninstaller data...][命令行安装完成]步骤6:安装完成
安装程序执行完毕,KingbaseES软件已部署到/opt/Kingbase/ES/V9目录。此时数据库尚未初始化,需要手动执行初始化操作。
步骤7:初始化数据库
使用initdb工具手动初始化数据库集簇。初始化过程中需要设置数据库超级用户的密码。
# 切换到kingbase用户(如果尚未切换)su- kingbase# 执行初始化命令/opt/Kingbase/ES/V9/Server/bin/initdb-U"system"-W-D"/opt/Kingbase/ES/V9/data"参数说明:
-U "system":指定数据库超级用户名为system-W:提示输入密码(初始化过程中会要求你设置密码)-D "/opt/Kingbase/ES/V9/data":指定数据目录路径
注意:initdb必须以将拥有服务器进程的用户(即kingbase用户)运行,不能以root用户执行。
步骤8:开启数据库
使用sys_ctl工具启动数据库服务。
# 启动数据库/opt/Kingbase/ES/V9/Server/bin/sys_ctl-D/opt/Kingbase/ES/V9/data-lkingbase.log start参数说明:
-D:指定数据目录路径-l kingbase.log:将日志输出到指定文件
启动成功后,可通过以下命令验证数据库进程是否正常运行:
ps-ef|grepkingbase正常启动后会看到kingbase -D /opt/Kingbase/ES/V9/data等进程信息。
步骤9:添加环境变量
为了方便后续使用ksql等命令行工具,将KingbaseES的bin目录添加到环境变量中。
# 编辑kingbase用户的.bash_profilevi~/.bash_profile# 在文件末尾添加以下行exportPATH=$PATH:/opt/Kingbase/ES/V9/Server/bin# 保存退出后,使环境变量生效source~/.bash_profile步骤10:测试连接
使用ksql工具测试数据库连接。
ksql-Usystem-p54321-dtest参数说明:
-U system:使用system用户登录-p 54321:指定端口号(KingbaseES默认端口为54321)-d test:连接到test数据库
如果连接成功,将进入ksql交互界面,看到类似test=#的提示符。输入\q即可退出。
至此,Linux安装人大金仓KingbaseES教程的安装部分全部完成!
五、人大金仓KingbaseES数据库基础操作
安装完成后,掌握以下基础操作是日常运维和开发的前提。
5.1 ksql连接与断开数据库
本地连接:
ksql-Usystem-p54321-dtest远程连接:
ksql-h192.168.1.100-p54321-dtest-Usystem其中-h指定数据库服务器的IP地址。
断开连接:在ksql中输入\q或QUIT命令。
5.2 查看数据库列表
SELECT*FROMpg_database;或使用ksql元命令:
\l5.3 创建数据库
方式一:使用SQL语句
CREATEDATABASEmydb;方式二:使用createdb命令行工具
createdb mydb5.4 切换数据库
在ksql中切换到另一个数据库:
\c mydb5.5 创建表
CREATETABLEemployees(idINTEGERPRIMARYKEY,nameVARCHAR(100),departmentVARCHAR(50),salaryNUMERIC(10,2));5.6 查看表列表
\dt列出当前数据库中的所有表。
5.7 插入数据
INSERTINTOemployees(id,name,department,salary)VALUES(1,'张三','技术部',15000.00);5.8 查询数据
SELECT*FROMemployees;5.9 更新数据
UPDATEemployeesSETsalary=18000.00WHEREid=1;5.10 删除数据
DELETEFROMemployeesWHEREid=1;5.11 删除表
DROPTABLEemployees;5.12 删除数据库
DROPDATABASEmydb;六、人大金仓KingbaseES数据库进阶操作
6.1 数据库启停管理
启动数据库:
sys_ctl-D/opt/Kingbase/ES/V9/data start停止数据库:
sys_ctl-D/opt/Kingbase/ES/V9/data stop重启数据库:
sys_ctl-D/opt/Kingbase/ES/V9/data restart查看数据库状态:
sys_ctl-D/opt/Kingbase/ES/V9/data status6.2 用户管理
创建普通用户:
CREATEUSERapp_userWITHPASSWORD'App@123456';授予数据库权限:
GRANTCONNECTONDATABASEmydbTOapp_user;授予表权限:
GRANTSELECT,INSERT,UPDATE,DELETEONemployeesTOapp_user;查看用户列表:
\du修改用户密码:
ALTERUSERapp_userWITHPASSWORD'NewPassword@789';删除用户(需先回收所有权限或转移对象所有权):
DROPUSERapp_user;安全提示:KingbaseES支持三权分立的安全机制,数据库管理员(system)具有superuser权限,可以创建和管理用户。superuser权限的授予需要非常谨慎,通常每个数据库只有一个超级用户。
6.3 数据备份与恢复
逻辑备份(sys_dump):sys_dump支持以SQL纯文本形式、自定义文件形式或目录形式输出备份内容,不会阻塞其他用户读写数据库。
备份整个数据库:
sys_dump-Usystem-dmydb-f/backup/mydb_backup.sql备份为自定义格式(更灵活):
sys_dump-Usystem-dmydb-Fc-f/backup/mydb_backup.dump恢复数据库:
ksql-Usystem-dmydb-f/backup/mydb_backup.sql备份所有数据库(sys_dumpall):sys_dumpall可以将一个集群中所有的KingbaseES数据库转储到一个脚本文件。
sys_dumpall-Usystem-f/backup/all_dbs_backup.sql6.4 性能调优关键参数
KingbaseES的性能高度依赖kingbase.conf配置文件的参数设置。生产环境需要根据实际硬件进行调整。
核心配置文件位置:
/opt/Kingbase/ES/V9/data/kingbase.conf关键调优参数:
| 参数 | 说明 | 推荐值 |
|---|---|---|
sys_shared_buffers | 共享内存缓冲区大小 | 物理内存的25%-40% |
sys_work_mem | 单个查询操作内存 | 根据并发数调整 |
sys_effective_cache_size | 操作系统缓存大小 | 物理内存的50%-75% |
max_connections | 最大连接数 | 根据业务需求设定 |
修改参数后重启数据库生效:
sys_ctl-D/opt/Kingbase/ES/V9/data restart6.5 ksql常用元命令速查
在ksql交互界面中,以下元命令可以快速查看数据库信息:
| 命令 | 说明 |
|---|---|
\l | 列出所有数据库 |
\dt | 列出当前数据库中的表 |
\di | 列出索引 |
\db | 列出表空间信息 |
\dp | 列出表、视图等相关权限 |
\du | 列出数据库用户 |
\d 表名 | 查看表结构 |
\? | 查看所有元命令帮助 |
结语
至此,你已经完整走完了Linux安装人大金仓KingbaseES教程的每一个环节——从依赖安装、用户创建、控制台部署,到初始化、启动验证,再到基础与进阶操作的体系化学习。这篇教程力求让你在完成人大金仓KingbaseES安装的同时,也建立起对数据库运维全景的认知,而不仅仅是机械地复制命令。
值得一提的是,KingbaseES V9在自主内核的基础上,持续向Oracle兼容性、智能运维、分布式扩展等方向迭代。当你掌握了单机部署后,可以进一步探索其读写分离集群(KingbaseRAC)和分布式存储方案,将国产数据库的能力真正释放到核心生产系统中。
如果你在部署过程中遇到任何意料之外的报错(如端口冲突、权限拒绝、共享内存不足等),欢迎在评论区贴出日志,我会尽力帮你定位问题。也希望这篇Linux安装人大金仓KingbaseES教程能成为你国产化技术栈中的一块稳固基石。如果觉得有用,不妨收藏分享,让更多同行少走弯路。