前言
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数据库能够稳定运行并实现开机自动启动。