人大金仓(KingbaseES)数据库教程

一、人大金仓简介

人大金仓数据库(KingbaseES) 是由中电科金仓(原人大金仓)自主研发的企业级关系型数据库,具备以下特性:

  • 高性能:优化查询引擎,支持高并发场景。
  • 高可用:主从复制、集群部署,确保数据可靠性。
  • 安全合规:支持数据加密、访问控制、审计日志等。
  • 兼容SQL:语法与标准SQL高度兼容,降低迁移成本。

二、环境准备

1. 硬件要求

组件 最低配置 推荐配置
CPU 双核 4核及以上
内存 4GB 8GB及以上
磁盘空间 50GB 100GB及以上(SSD优先)

2. 软件要求

  • 操作系统:CentOS 7+ / Ubuntu 20.04+ / Windows Server 2016+
  • 依赖工具:SSH(Linux)、PowerShell(Windows)

三、安装与配置

1. Linux系统安装步骤

(1) 下载与解压
# 下载安装包(以V8版本为例)
wget https://download.kingbase.com/KingbaseES_V008R003C002B0340_Lin64.iso

# 挂载ISO文件
mkdir /mnt/cdrom
mount -o loop KingbaseES_V008R003C002B0340_Lin64.iso /mnt/cdrom
cd /mnt/cdrom
(2) 创建用户与目录
groupadd dbgroup
useradd -g dbgroup -m -d /home/kingbase -s /bin/bash kingbase
passwd kingbase

# 创建数据目录
mkdir -p /kingbase/data /kingbase/license
chown -R kingbase:dbgroup /kingbase
(3) 执行安装
./setup.sh

按提示选择:

  • 授权文件路径(如 /kingbase/license/license_xxx.dat
  • 安装路径(/kingbase/kingbase
  • 数据存储路径(/kingbase/data

2. Windows系统安装步骤

  1. 双击运行 .exe 安装程序。
  2. 按照向导提示选择安装目录(默认 C:\Kingbase)。
  3. 配置环境变量,将 C:\Kingbase\Server\bin 添加到 PATH

四、基础操作

1. 连接数据库

使用命令行工具 ksql 连接:

ksql SYSTEM/123456@localhost:54321

或通过 Kingbase Management Studio(图形化工具)登录。

2. 创建数据库与表

-- 创建数据库
CREATE DATABASE testdb;

-- 切换数据库
\c testdb;

-- 创建员工表
CREATE TABLE employees (
    emp_id SERIAL PRIMARY KEY,    -- 自增主键
    emp_name VARCHAR(100) NOT NULL, -- 姓名
    dept_id INT,                   -- 部门ID
    salary DECIMAL(10,2)           -- 薪资
);

3. 数据增删改查

(1) 插入数据
INSERT INTO employees (emp_name, dept_id, salary) 
VALUES ('张三', 10, 8000.00), ('李四', 20, 9500.00);
(2) 查询数据
-- 查询所有员工信息
SELECT * FROM employees;

-- 条件查询(薪资大于8500)
SELECT emp_name, salary FROM employees WHERE salary > 8500;
(3) 更新数据
UPDATE employees SET salary = salary * 1.1 WHERE dept_id = 10;
(4) 删除数据
DELETE FROM employees WHERE emp_id = 2;

五、高级功能

1. 备份与恢复

(1) 命令行备份
kbrbackup -U SYSTEM -d testdb -b /backup/ -F testdb_full.bak
(2) 图形化备份

通过 Management Studio 右键数据库 → “备份” → 选择类型(全量/增量)。

(3) 恢复数据
kbrrestore -U SYSTEM -d testdb -b /backup/ -F testdb_full.bak

2. 事务与并发控制

BEGIN;
UPDATE accounts SET balance = balance - 1000 WHERE account_id = 'A001';
UPDATE accounts SET balance = balance + 1000 WHERE account_id = 'B002';
COMMIT;  -- 或 ROLLBACK; 回滚事务

六、常见问题解决

1. 连接失败

  • 检查服务是否启动:systemctl status Kingbase
  • 确认防火墙开放端口 54321
  • 验证用户名和密码是否正确。

2. 性能优化

  • 使用 EXPLAIN 查看 SQL 执行计划:
    EXPLAIN SELECT * FROM employees WHERE salary > 8500;
    
  • 调整配置文件 kingbase.conf,例如:
    max_connections = 200      # 最大连接数
    shared_buffers = 512MB     # 共享内存大小
    

七、参考资源

  1. 官方文档:https://docs.kingbase.com.cn/
  2. 视频教程:人大金仓学院(https://edu.kingbase.com)
  3. 社区支持:https://bbs.kingbase.com.cn/forum.php

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐