在当今数字化时代,三大基础软件(操作系统、数据库、中间件)的适配工作至关重要,只有它们协同工作,才能更好地为各类业务提供稳定、高效的服务。本文将详细介绍如何使用 ISO 安装介质部署金仓数据库 KingbaseES V8R6,如何利用容器镜像快速部署金仓数据库 KingbaseES V9,以及如何在东方通中间件 TongWeb 8 中将这两种版本的金仓数据库配置为可用的数据源。
东方通 TongWeb 介绍
东方通中间件 TongWeb 是一款功能强大的应用服务器软件,广泛应用于各个行业。它具有高度的可靠性和稳定性,能够支持大规模、高并发的应用场景,为企业级应用提供了坚实的运行基础。TongWeb 支持多种操作系统平台,与多种数据库具备良好的兼容性,通过提供丰富的开发接口和工具,方便开发者快速构建和部署各类应用程序,是连接应用程序与基础资源的关键纽带。
在保险行业中,中间件发挥着至关重要且多维度的作用。它能实现核心业务系统、客户关系管理系统、理赔系统等不同系统之间的无缝集成,打破信息孤岛,以标准化方式交互协作,提高系统集成性。面对保险业务的高峰值性和高并发性,中间件负载均衡(如 TongHttpServer)、消息队列(如 TongLINK/Q)等功能可提高系统吞吐量、响应速度与可靠性,保障业务连续性。同时,它提供通用功能和服务,简化开发流程,提升效率,且便于系统统一管理和监控,降低开发维护成本。此外,中间件支持微服务架构等新兴模式(东方通 TongWeb 已支持容器化部署),赋予保险行业系统良好的扩展性和优化空间,助力快速响应市场变化,推出新保险产品和服务,增强业务灵活性与创新能力。
金仓数据库 KingbaseES 介绍
金仓数据库 KingbaseES 是一款自主研发的国产数据库管理系统,以其高性能、高可用性和高安全性著称。它具备强大的事务处理能力,能够满足复杂业务场景下的数据存储和查询需求。KingbaseES 采用了先进的数据库内核技术,在数据存储、索引管理、查询优化等方面表现出色,能够有效提升数据处理效率。同时,它还提供了完善的安全机制,保障数据的完整性、保密性和可用性,适用于政府、金融、电信等多个关键行业领域。

以保险行业为例,因其数据敏感性需国产数据库保障安全自主可控,同时金仓数据库在性能稳定性、成本效益、国产软硬件生态适配及技术支持等方面具优势。金仓数据库在新华保险的关键系统中表现出色,降低总控成本,性能媲美国外产品;在大地保险的某核心系统升级中,通过“一站式迁移平替”方案实现业务数据“轻装”迁移,显著降低迁移难度与成本。
金仓数据库 KES V8R6 安装
首先,我们使用 ISO 安装介质来部署金仓数据库 KingbaseES V8R6。金仓数据库的安装之前已经介绍过很多次,可以参考一文了解金仓数据库 KES 的 SQL Server 兼容性,以下是主要安装步骤。
- 挂载 ISO 镜像,执行安装命令。
[shawnyan@rl9 cdrom]$ ls
setup setup.sh
[shawnyan@rl9 cdrom]$ ./setup.sh
Now launch installer...
Preparing to install
Extracting the JRE from the installer archive...
Unpacking the JRE...
Extracting the installation resources from the installer archive...
===============================================================================
KingbaseES V8 (created with InstallAnywhere)
-------------------------------------------------------------------------------
Preparing CONSOLE Mode Installation...
...
===============================================================================
Installation Complete
---------------------
Congratulations. KingbaseES V8 has been successfully installed to:
/opt/Kingbase/ES/V8
If you want to register KingbaseES V8 as OS service, please run
/opt/Kingbase/ES/V8/install/script/root.sh
PRESS <ENTER> TO EXIT THE INSTALLER:
Complete.
-
安装完成后,我们启动数据库。
-
使用客户端连接到数据库,并创建测试库和测试用户。
[shawnyan@rl9 ~]$ ksql
Type "help" for help.
kingbase=# create database testdb;
CREATE DATABASE
kingbase=# create user appuser password 'appuser';
CREATE ROLE
kingbase=# grant all privileges on database testdb to appuser;
GRANT
- 尝试用新用户测试连接。
[shawnyan@rl9 ~]$ ksql -U appuser -W -d testdb -h localhost -p54321
Password:
Type "help" for help.
testdb=> \conninfo
You are connected to database "testdb" as user "appuser" on host "localhost" (address "::1") at port "54321".
kingbase=# select version();
version
----------------------------------------------------------------------------------------------------------------------
KingbaseES V008R006C009B0014 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28), 64-bit
(1 row)
testdb=> \l testdb
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
--------+--------+----------+-------------+-------------+--------------------
testdb | system | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 | =Tc/system +
| | | | | system=CTc/system +
| | | | | appuser=CTc/system
(1 row)
金仓数据库 KES V9 容器镜像
上面介绍了如何使用 ISO 安装介质部署金仓数据库,接下来我们尝试用容器镜像拉起 KES 数据库。对于开发者来说,使用镜像更加方便、便捷。
从金仓数据库官方网站下载容器镜像,上传本地服务器后,导入镜像。
[shawnyan@rl9 ~]$ podman load -i KingbaseES_V009R001C002B0014_x86_64_Docker.tar
Getting image source signatures
...
Copying config 5666f1d53e done |
Writing manifest to image destination
Loaded image: localhost/kingbase_v009r001c002b0014_single_x86:v1
[shawnyan@rl9 ~]$ podman images
REPOSITORY TAG IMAGE ID CREATED SIZE
localhost/kingbase_v009r001c002b0014_single_x86 v1 5666f1d53e3f 4 weeks ago 744 MB
使用镜像拉起容器,指定映射宿主机的端口号为 54322 以区别于刚才安装的 KES V8R6 版本。这里还指定了数据库的兼容模式为 MySQL。
podman run -dit \
--name kes_mysql \
-p 54322:54321 \
-e DB_USER=kingbase \
-e DB_PASSWORD=123456 \
-e DB_MODE=mysql \
5666f1d53e3f /usr/sbin/init
连接到数据库,并创建测试库和测试用户。
[shawnyan@rl9 ~]$ podman exec -it kes_mysql ksql -U kingbase
Type "help" for help.
kingbase=# \conninfo
You are connected to database "kingbase" as user "kingbase" via socket in "/tmp" at port "54321".
kingbase=# create database testdb;
CREATE DATABASE
kingbase=# create user appuser password 'appuser';
CREATE ROLE
kingbase=# grant all privileges on database testdb to appuser;
GRANT
使用测试用户连接到数据库,查看版本号为 KES V9,数据库模式为 mysql。
[shawnyan@rl9 ~]$ ksql -U appuser -W -d testdb -h localhost -p54322
Password:
Type "help" for help.
testdb=> \conninfo
You are connected to database "testdb" as user "appuser" on host "localhost" (address "127.0.0.1") at port "54322".
testdb=> select version();
version
----------------------------------------------------------------------------------------------------------------------
KingbaseES V009R001C002B0014 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28), 64-bit
(1 row)
testdb=> show database_mode;
database_mode
---------------
mysql
(1 row)
到此,我们已经安装了金仓数据库 KES V8R6 和 V9 两个版本。接下来,我们介绍东方通中间件 TongWeb 的安装使用。
安装东方通中间件 TongWeb 8
在安装东方通中间件 TongWeb 8 之前,需要确保系统已安装合适的 Java 环境。TongWeb 8 支持 JDK 8 - 21,生产环境建议使用 OpenJDK 或 TongJDK,且需使用 JDK 而非 JRE,仅安装 JRE 无法满足 TongWeb 的全部功能。
[shawnyan@rl9 ~]$ java -version
openjdk version "1.8.0_452"
OpenJDK Runtime Environment (build 1.8.0_452-b09)
OpenJDK 64-Bit Server VM (build 25.452-b09, mixed mode)
将 TongWeb 安装包和授权文件上传到服务器,并将安装包进行解压。
[shawnyan@rl9 ~]$ tar zxf TongWeb8.0.9.01.tar.gz
[shawnyan@rl9 ~]$ cd TongWeb8.0.9.01
[shawnyan@rl9 TongWeb8.0.9.01]$ ll
total 98804
drwxr-xr-x 3 shawnyan shawnyan 4096 Jun 13 13:39 bin
drwxr-xr-x 3 shawnyan shawnyan 21 Jun 13 13:39 domains
drwxr-xr-x 5 shawnyan shawnyan 49 Jun 13 13:39 lib
-rw-r--r-- 1 shawnyan shawnyan 1980 Jun 24 18:51 license.dat
-rw-r--r-- 1 shawnyan shawnyan 101167013 Jun 13 14:33 version8.0.9.01.zip
在启动 TongWeb 前,可以先上传金仓数据库的 JDBC 驱动,上传到 lib 目录 TW 可以自行识别。
[shawnyan@rl9 lib]$ pwd
/home/shawnyan/TongWeb8.0.9.01/lib
[shawnyan@rl9 lib]$ ls
app compatible kingbase8-8.6.0.jar system
启动 TongWeb 服务,第一次启动会进行初始化操作,耗时稍长。
[shawnyan@rl9 TongWeb8.0.9.01]$ ./bin/startserver.sh
服务启动后,访问控制台 (https://localhost:9060/console),初始用户名和密码为:thanos/thanos123.com

TongWeb 8 配置 KES V8R6 数据源
KingbaseES JDBC 提供了 JAVA 的 JDBC 驱动程序 kingbase8jdbc,它支持 SUN JDBC 3.0 和 部分 4.0 API 的标准。通过 JDBC 接口对象,应用程序可以完成与数据库的连接、执行 SQL语句、从数据库中获取结果、状态及错误信息、终止事务和连接等操作。
在 TongWeb 控制台中,选择【Web容器】->【数据源】,创建新数据库。

【数据库连接方式】选择【Kingbase8】,填写数据库连接信息。
保存后,如果连接正常,【已验证】会显示为绿色的 true,点击【测试】按钮将提示【数据源测试成功】。
到这里,金仓数据库 KES V8R6 的数据源就配置完成。
为了更好地监控和排查问题,可以修改金仓数据库的日志参数,将更多日志记录到文件中。例如,在kingbase.conf 文件中配置如下参数:
[shawnyan@rl9 data]$ grep '^log_' kingbase.conf
log_destination = 'csvlog' # Valid values are combinations of
log_connections = on
log_disconnections = on
log_duration = on
log_error_verbosity = default # terse, default, or verbose messages
log_hostname = on
log_line_prefix = '%t:%r:[%l-1] %h:%u@%d:[%p]:%e'
log_statement = 'all' # none, ddl, mod, all
log_timezone = 'Asia/Shanghai'
[shawnyan@rl9 data]$
从日志输出中可以看到 TongWeb 向 KES 发送的心跳监测。
2025-06-25 00:34:05.173 CST,,,13859,"localhost:27244",685ad37d.3623,1,"",2025-06-25 00:34:05 CST,,0,LOG,00000,"connection received: host=localhost port=27244",,,,,,,,,""
2025-06-25 00:34:05.183 CST,"appuser","testdb",13859,"localhost:27244",685ad37d.3623,2,"authentication",2025-06-25 00:34:05 CST,7/7,0,LOG,00000,"connection authorized: user=appuser database=testdb application_name=Kingbase8 JDBC Driver",,,,,,,,,""
2025-06-25 00:34:05.200 CST,"appuser","testdb",13859,"localhost:27244",685ad37d.3623,3,"PARSE",2025-06-25 00:34:05 CST,7/8,0,LOG,00000,"duration: 15.583 ms",,,,,,,,,"Kingbase8 JDBC Driver"
2025-06-25 00:34:05.202 CST,"appuser","testdb",13859,"localhost:27244",685ad37d.3623,4,"BIND",2025-06-25 00:34:05 CST,7/8,0,LOG,00000,"duration: 1.402 ms",,,,,,,,,"Kingbase8 JDBC Driver"
2025-06-25 00:34:05.202 CST,"appuser","testdb",13859,"localhost:27244",685ad37d.3623,5,"SELECT",2025-06-25 00:34:05 CST,7/8,0,LOG,00000,"execute <unnamed>: select name,setting from pg_settings where name = 'kdb_flashback.db_recyclebin' or name='database_mode' or name='ora_input_emptystr_isnull'",,,,,,,,,"Kingbase8 JDBC Driver"
2025-06-25 00:34:05.203 CST,"appuser","testdb",13859,"localhost:27244",685ad37d.3623,6,"SELECT",2025-06-25 00:34:05 CST,7/8,0,LOG,00000,"duration: 1.313 ms",,,,,,,,,"Kingbase8 JDBC Driver"
2025-06-25 00:34:05.204 CST,"appuser","testdb",13859,"localhost:27244",685ad37d.3623,7,"PARSE",2025-06-25 00:34:05 CST,7/9,0,LOG,00000,"duration: 0.486 ms",,,,,,,,,"Kingbase8 JDBC Driver"
2025-06-25 00:34:05.205 CST,"appuser","testdb",13859,"localhost:27244",685ad37d.3623,8,"BIND",2025-06-25 00:34:05 CST,7/9,0,LOG,00000,"duration: 0.967 ms",,,,,,,,,"Kingbase8 JDBC Driver"
2025-06-25 00:34:05.205 CST,"appuser","testdb",13859,"localhost:27244",685ad37d.3623,9,"SELECT",2025-06-25 00:34:05 CST,7/9,0,LOG,00000,"execute <unnamed>: select * from pg_type where typname='rowid'",,,,,,,,,"Kingbase8 JDBC Driver"
2025-06-25 00:34:05.205 CST,"appuser","testdb",13859,"localhost:27244",685ad37d.3623,10,"SELECT",2025-06-25 00:34:05 CST,7/9,0,LOG,00000,"duration: 0.087 ms",,,,,,,,,"Kingbase8 JDBC Driver"
2025-06-25 00:34:05.206 CST,"appuser","testdb",13859,"localhost:27244",685ad37d.3623,11,"PARSE",2025-06-25 00:34:05 CST,7/10,0,LOG,00000,"duration: 0.053 ms",,,,,,,,,"Kingbase8 JDBC Driver"
2025-06-25 00:34:05.206 CST,"appuser","testdb",13859,"localhost:27244",685ad37d.3623,12,"BIND",2025-06-25 00:34:05 CST,7/10,0,LOG,00000,"duration: 0.008 ms",,,,,,,,,"Kingbase8 JDBC Driver"
2025-06-25 00:34:05.206 CST,"appuser","testdb",13859,"localhost:27244",685ad37d.3623,13,"SET",2025-06-25 00:34:05 CST,7/10,0,LOG,00000,"execute <unnamed>: SET SESSION CHARACTERISTICS AS TRANSACTION ISOLATION LEVEL READ COMMITTED",,,,,,,,,"Kingbase8 JDBC Driver"
2025-06-25 00:34:05.206 CST,"appuser","testdb",13859,"localhost:27244",685ad37d.3623,14,"SET",2025-06-25 00:34:05 CST,7/10,0,LOG,00000,"duration: 0.068 ms",,,,,,,,,"Kingbase8 JDBC Driver"
2025-06-25 00:34:05.207 CST,"appuser","testdb",13859,"localhost:27244",685ad37d.3623,15,"PARSE",2025-06-25 00:34:05 CST,7/11,0,LOG,00000,"duration: 0.014 ms",,,,,,,,,"Kingbase8 JDBC Driver"
2025-06-25 00:34:05.207 CST,"appuser","testdb",13859,"localhost:27244",685ad37d.3623,16,"BIND",2025-06-25 00:34:05 CST,7/11,0,LOG,00000,"duration: 0.003 ms",,,,,,,,,"Kingbase8 JDBC Driver"
TongWeb 8 配置 KES V9 数据源
对于 KES V9 数据源的配置,首先需要准备 KinbaseES V9 的 JDBC 驱动包,并上传到服务器。通过以下命令可查看驱动版本信息。
[shawnyan@rl9 lib]$ java -jar kingbase8-9.0.0.jar -v
Kingbase8 JDBC Driver V009R001C001B0030PSC001 is based on 191baa85 at 2024-07-08 16:37:57.
Found in: jar:file:/home/shawnyan/TongWeb8.0.9.01/lib/kingbase8-9.0.0.jar!/com/kingbase8/Driver.class
将 KES V9 的驱动移动到 TW 的 lib 目录下,并重启 TW 服务使其生效。
[shawnyan@rl9 TongWeb8.0.9.01]$ ./bin/stopserver.sh
2025-06-25 02:12:25 >>> Stopping server ...
2025-06-25 02:12:27 >>> Server stopped.
[shawnyan@rl9 TongWeb8.0.9.01]$ ./bin/startserver.sh
2025-06-25 02:12:35 [INFO] - Server Info: TongWeb
2025-06-25 02:12:35 [INFO] - Server Version: 8.0.9.01
2025-06-25 02:12:35 [INFO] - Server Mode: Enterprise
2025-06-25 02:12:35 [INFO] - Server Package: javax
2025-06-25 02:12:35 [INFO] - Server instance: domain1
2025-06-25 02:12:35 [INFO] - Create Connector port [9060]
2025-06-25 02:12:35 [INFO] - Create Connector port [8088]
再次登录 TW 控制台,这次我们可以自定义创建【JDBC模板】,这里创建一个名称为【KingbaseES_V9】的驱动模板。

创建数据源,【数据库连接方式】选择刚刚创建的【KingbaseES_V9】模板。

填入数据库连接信息。

最后,确认 KES V9 的数据源也配置成功。

总结
通过本文的详细介绍,我们掌握了金仓数据库 KES V8R6 和 V9 两个大版本的安装部署方法,包括传统的 ISO 安装介质部署以及便捷的容器镜像部署方式。同时,也熟悉了东方通中间件 TongWeb 8 的安装流程,并成功将其与金仓数据库配置为可用的数据源。希望本文的内容能为读者在学习和使用东方通中间件 TongWeb 以及金仓数据库时提供有力的参考,助力大家在项目开发和运维过程中更加得心应手。
东方通产品认证中级工程师 TCIE
✨东方通中级认证报名正在火热进行中~
📅 报名截止时间为6月25日,倒计时已开启,千万别错过啦!
💥 限时优惠同步来袭:
✅ 现报名立享拼团价 2025 元,年度超值福利!
✅ 持有初级证书者可再减 100 元,双重优惠叠加更划算~
抓紧最后时机锁定名额,备考资料已备好,报名即可开启学习通道!如有疑问,欢迎随时沟通~🚀
#东方通软件学堂 是东方通旗下教育品牌,主要依托公司自身产业及信息技术应用创新背景,和上下游生态伙伴,为行业用户提供培训服务,与高校构建校企共同体,促进校企协同育人,助力东方通人才供给与发展战略,是人才生态建设的平台。
深入MySQL:开发运维实战训练营
一门专为开发者和运维人员设计的 MySQL 实战课,教你搞定安装、调优、事务、等常见问题,从“写 SQL”到“懂原理、会优化”,一步进阶;同步赠送 MySQL OCP 909 模拟题库,实战提升的同时,也能为认证做好准备!

Have a nice day ~ ☕
🌻 往期精彩 ▼
- TiDB社区&墨天轮 | 专栏征文大赛全面开启,期待您分享TiDB业务实战和运维开发那些事儿
- MySQL 30 周年庆!MySQL 8.4 认证免费考!这次是认真的。。。
- 聚焦民生,TiDB 加速政企数字化转型|沈阳站活动回顾
- 为什么Data Warebase是AI时代首选Data API?
- 一文带你了解 KWDB 数据库
- 一文带你了解 KING BASE 金仓数据库
- 「合集」三年 50 篇,TiDB 干货全收录
- 「合集」MySQL 8.x 系列文章汇总
– / END / –
👉 这里可以找到我
👉 这里有得聊
如果对国产基础软件(操作系统、数据库、中间件)感兴趣,可以加群一起聊聊。
关注微信公众号:#少安事务所,后台回复[群],即可看到入口。
如果这篇文章为你带来了灵感或启发,请帮忙『三连』吧,感谢!ღ( ´・ᴗ・` )~




