Ubuntu 22.04 服务器安装 KingbaseES 电科金仓数据库详细教程

前言

KingbaseES 是电科金仓自主研发的企业级关系型数据库管理系统,具有高性能、高可用、高安全等特点。本文将详细介绍在 Ubuntu 22.04 服务器上安装 KingbaseES 数据库的完整过程。

一、系统环境准备

本教程用到是Ubuntu22.04系统,4核8G服务器。

二、安装前准备工作

2.1 创建专用用户

为了安全起见,我们需要创建一个专用的 kingbase 用户来运行数据库服务 我这里直接切换到root用户来执行,使用su -命令切换到root用户

bash 复制代码
# 使用 root 用户或具有 sudo 权限的用户执行
sudo useradd -m kingbase
sudo passwd kingbase

创建用户后,验证用户是否创建成功:

bash 复制代码
# 查看用户信息
id kingbase

# 查看用户主目录
ls -la /home/kingbase

2.2 创建安装目录

创建 KingbaseES 的安装目录并设置权限:

bash 复制代码
# 创建安装目录
sudo mkdir -p /opt/Kingbase/ES/V9

# 设置目录权限
sudo chmod o+rwx /opt/Kingbase/ES/V9

# 创建数据目录
mkdir -p /opt/Kingbase/ES/V9/data

# 将目录所有者设置为 kingbase 用户
sudo chown -R kingbase:kingbase /opt/Kingbase

2.3 创建软件包存放目录

bash 复制代码
# 创建软件包存放目录
sudo mkdir -p /opt/software/
sudo mkdir -p /opt/software/KingbaseESV9

# 设置权限
sudo chown -R kingbase:kingbase /opt/software/

三、获取安装包

安装包和授权文件我们需要到电科金仓官网进行下载:www.kingbase.com.cn/download.ht... 因为Ubuntu服务器是X86_64架构,所以我们下载X64_Linux数据库安装包 请根据自身需求下载授权文件,我下载的是开发版 将安装包和授权文件上传到服务器的 /opt/software/ 目录

四、挂载安装包

4.1 挂载 ISO 文件

bash 复制代码
cd /opt/software/

# 挂载 ISO 文件
sudo mount KingbaseES_V009R001C010B0004_Lin64_install.iso ./KingbaseESV9

# 查看挂载结果
ls -la ./KingbaseESV9

挂载成功后,应该能看到 setup 目录和 setup.sh 脚本。

五、开始安装

5.1 设置语言环境

为了获得中文安装界面,设置语言环境:

bash 复制代码
# 查看当前语言设置
echo $LANG

# 设置为中文环境
export LANG=zh_CN.UTF-8

5.2 切换到 kingbase 用户

bash 复制代码
# 切换到 kingbase 用户
su - kingbase

5.3 启动安装程序

bash 复制代码
# 进入安装程序目录
cd /opt/software/KingbaseESV9

# 启动命令行安装程序
sh setup.sh -i console

六、安装过程详解

这里提示,按ENTER回车键继续下一步安装,按Q键退出安装程序。 直接回车即可继续 现在进入到了阅读许可证界面,这里咱们继续按空格键浏览完整个许可协议内容 1接收许可协议 到这一步需要输入许可证的路径:/opt/software/license_V009R001C-开发版.dat,大家输入自己的路径即可 直接回车即可 Enter回车使用默认路径 输入Y回车确认使用/opt/kingbase/ES/V9路径 随后按N回车继续下一步 输入1回车使用完全安装模式 确认完安装信息后,按Enter回车开始安装 等待安装完成后,按Enter回车完成安装 默认是 1仅为当前用户创建快捷方式(直接回车即可) 安装完成

七、启动KingbaseES

bash 复制代码
# 切换到kingbase用户
su - kingbase
# 进入Server目录
cd /opt/Kingbase/ES/V9/KESRealPro/V009R001C010/Server/

首次安装的话需要初始化数据库

bash 复制代码
bin/initdb -D /opt/Kingbase/ES/V9/data

数据库初始化成功 启动 KingbaseES 服务

bash 复制代码
bin/sys_ctl -D /opt/Kingbase/ES/V9/data start

验证服务状态

bash 复制代码
bin/sys_ctl -D /opt/Kingbase/ES/V9/data status

连接到数据库

basj 复制代码
# 使用 ksql 连接数据库,我使用kingbase用户安装用户名默认是kingbase
bin/ksql -U kingbase -d test
# 或者指定主机和端口
bin/ksql -h localhost -p 54321 -U system -d test

下面来执行测试查询

bash 复制代码
-- 查看数据库版本
SELECT version();

-- 查看当前数据库
SELECT current_database();

-- 创建测试表
CREATE TABLE test_table (
    id INTEGER,
    name VARCHAR(50)
);

-- 插入测试数据
INSERT INTO test_table VALUES (1, 'Hello KingbaseES');

-- 查询测试数据
SELECT * FROM test_table;

关闭KingbaseES 服务后,下面让我们来配置KingbaseES的开机自启动

bash 复制代码
# 关闭 KingbaseES 服务
bin/sys_ctl -D /opt/Kingbase/ES/V9/data stop

八、配置开机自启动

为了确保 KingbaseES 数据库服务在系统重启后能够自动启动,我们需要配置开机自启动服务。

8.1 创建 systemd 服务文件

使用 root 用户创建 systemd 服务文件:

bash 复制代码
# 切换到 root 用户
su -

# 创建 KingbaseES 服务文件
cat > /etc/systemd/system/kingbase.service << 'EOF'
[Unit]
Description=KingbaseES Database Server
Documentation=https://www.kingbase.com.cn/
After=network.target
Wants=network.target

[Service]
Type=forking
User=kingbase
Group=kingbase
Environment=KINGBASE_HOME=/opt/Kingbase/ES/V9/KESRealPro/V009R001C010/Server
Environment=KINGBASE_DATA=/opt/Kingbase/ES/V9/data
Environment=PATH=/opt/Kingbase/ES/V9/KESRealPro/V009R001C010/Server/bin:$PATH
ExecStart=/opt/Kingbase/ES/V9/KESRealPro/V009R001C010/Server/bin/sys_ctl -D /opt/Kingbase/ES/V9/data start
ExecReload=/opt/Kingbase/ES/V9/KESRealPro/V009R001C010/Server/bin/sys_ctl -D /opt/Kingbase/ES/V9/data reload
ExecStop=/opt/Kingbase/ES/V9/KESRealPro/V009R001C010/Server/bin/sys_ctl -D /opt/Kingbase/ES/V9/data stop
TimeoutSec=300
PIDFile=/opt/Kingbase/ES/V9/data/kingbase.pid

# 重启策略
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target
EOF

8.2 设置服务权限和启用服务

bash 复制代码
# 设置服务文件权限
chmod 644 /etc/systemd/system/kingbase.service

# 重新加载 systemd 配置
systemctl daemon-reload

# 启用 KingbaseES 服务(开机自启动)
systemctl enable kingbase.service

# 查看服务状态
systemctl status kingbase.service

8.3 测试服务管理命令

bash 复制代码
# 启动服务
systemctl start kingbase

# 停止服务
systemctl stop kingbase

# 重启服务
systemctl restart kingbase

# 查看服务状态
systemctl status kingbase

# 查看服务日志
journalctl -u kingbase -f

8.4 验证开机自启动

bash 复制代码
# 重启系统
reboot

# 系统重启后,检查服务状态
systemctl status kingbase

# 检查数据库进程
ps aux | grep kingbase

# 测试数据库连接
su - kingbase
cd /opt/Kingbase/ES/V9/KESRealPro/V009R001C010/Server/
bin/ksql -U kingbase -d test -c "SELECT version();"

总结

本文详细介绍了在Ubuntu 22.04系统上安装部署KingbaseES数据库的完整流程,包括创建专用用户、配置安装目录、挂载安装包、执行安装程序、初始化数据库、配置开机自启动服务等关键步骤,并提供了数据库连接测试和基本操作示例,帮助用户快速搭建企业级国产数据库环境。通过systemd服务管理,确保KingbaseES数据库能够稳定运行并实现开机自动启动。

相关推荐
数据小馒头4 小时前
浅谈SQL审核(一):SQL审核实现方式与常见工具的选择
后端
武子康4 小时前
大数据-128 - Flink 并行度详解:从概念到最佳实践,一文读懂任务并行执行机制 代码示例与性能优化
大数据·后端·flink
小毛驴8505 小时前
在Spring Boot开发中,HEAD、OPTIONS和 TRACE这些HTTP方法各有其特定的应用场景和实现方式
spring boot·后端·http
zl9798995 小时前
SpringBoot-依赖管理和自动配置
spring boot·后端·状态模式
JaguarJack5 小时前
PHP8.5 的新 URI 扩展
后端·php
绝无仅有5 小时前
面试真实经历某商银行大厂数据库MYSQL问题和答案总结(一)
后端·面试·github
绝无仅有5 小时前
Docker 实战经验之关键文件误删恢复指南
后端·面试·github
QZQ541885 小时前
go中reflect的底层原理
后端
白衣鸽子5 小时前
CAP理论:分布式系统的“不可能三角”
后端·架构