2025 年金仓数据库产品体验官第一期「SQL Server 兼容深度体验」已经正式结束!26 位技术爱好者带来了 27 篇分享。
第二期产品体验官【MySQL 兼容深度体验】已开启,详情戳:
2025金仓数据库产品体验官第二期【金仓MySQL兼容】招募发车
往期文章回顾
正文开始前先回顾一下往期文章。
- 再探金仓数据库 KingbaseES(SQL Server 兼容版)
- 金仓数据库(SQL Server兼容版)部署
- 一文了解金仓数据库 KES 的 SQL Server 兼容性
- 金仓数据库 KES V9R1C1B30 新特性体验
- 金仓数据库 KES V9 在 OpenCloudOS V8 系统安装指南
- 金仓赵今麦的 KES RWC 集群扩缩容奇遇记
KES(MySQL 兼容模式)安装
KES 单机安装过程相对简单,之前已经多次介绍,这里不再赘述。在安装过程中,用户需要选择数据库模式,这里选择 MySQL:
[shawnyan@kes cdrom]$ ./setup.sh -i console
...
Database Mode
-------------
Please enter database mode.
->1- MySQL
ENTER THE NUMBER FOR YOUR CHOICE, OR PRESS <ENTER> TO ACCEPT THE DEFAULT:
安装完成后,启动数据库服务:
[shawnyan@kes ~]$ sys_ctl start
waiting for server to start....2025-07-30 03:28:55.258 CST [9204] LOG: config the real archive_command string as soon as possible to archive WAL files
2025-07-30 03:28:55.269 CST [9204] LOG: sepapower extension initialized
2025-07-30 03:28:55.284 CST [9204] LOG: starting KingbaseES V009R003C011 <-- 版本号为 KES V9R3C11
2025-07-30 03:28:55.284 CST [9204] LOG: listening on IPv4 address "0.0.0.0", port 54321
2025-07-30 03:28:55.284 CST [9204] LOG: listening on IPv6 address "::", port 54321
2025-07-30 03:28:55.285 CST [9204] LOG: listening on Unix socket "/tmp/.s.KINGBASE.54321"
2025-07-30 03:28:55.339 CST [9204] LOG: redirecting log output to logging collector process
2025-07-30 03:28:55.339 CST [9204] HINT: Future log output will appear in directory "sys_log".
done
server started
通过命令行连接数据库,查看数据库模式:
[shawnyan@kes ~]$ ksql -U system
Licesen Type: SALES-企业版.
Type "help" for help.
kingbase=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+--------+----------+-------------+-------------+-------------------
kingbase | system | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 |
security | system | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 |
template0 | system | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 | =c/system +
| | | | | system=CTc/system
template1 | system | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 | =c/system +
| | | | | system=CTc/system
test | system | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 |
(5 rows)
kingbase=# show database_mode ;
database_mode
---------------
mysql
(1 row)
至此,金仓数据库 MySQL 兼容模式安装完成。
SQL 兼容 – LOAD DATA INFILE
KES V9R3C11 支持 LOAD DATA INFILE 命令,用户可以方便地将文件中的数据加载到指定表中,实现数据还原。
首先,在 MySQL 中创建一个测试表 film,并导入测试数据:
[shawnyan@kes ~]$ mysql -uroot mytest < film-data.sql
[shawnyan@kes ~]$ mysql -uroot mytest -e 'select count(*) from film'
+----------+
| count(*) |
+----------+
| 1000 |
+----------+
将数据从 MySQL 导出为 CSV 格式。
[shawnyan@kes ~]$ mysql -uroot -p mytest -e "select * into outfile '/tmp/film.csv' from film"
Enter password:
[shawnyan@kes ~]$ sudo wc -l /tmp/film.csv
1000 /tmp/film.csv
接下来,将导出的文件 film.csv 上传到金仓数据库服务器的相应目录下。
然后连接到金仓数据库,使用 LOAD DATA INFILE 语句将数据导入到 KES 的表中:
load data infile '/tmp/film.csv' into table mysql.film;

SQL 兼容 – WITH ROLLUP
KES 新版 MySQL 兼容模式支持 SQL 查询语句中的 WITH ROLLUP 子句,这一功能为用户提供了强大的查询分组统计能力。
在数据分析和报表生成过程中,WITH ROLLUP 可以帮助用户快速生成多级汇总结果,满足复杂的统计需求。
假设有一个销售数据表 sales,包含字段 region(地区)、product(产品)和 amount(销售额)。使用以下 SQL 查询语句:
SELECT region, product, SUM(amount) AS total_amount
FROM sales
GROUP BY region, product WITH ROLLUP;
该查询将生成每个地区、每个产品的销售额汇总,同时还会生成每个地区的总销售额以及所有地区的总销售额。这种多级汇总功能在处理复杂数据报表时非常实用,能够显著提高数据分析的效率。
使用原生 MySQL 驱动连接 KES
金仓数据库新版 MySQL 兼容模式提供了对原生 MySQL 驱动的支持,这意味着用户可以使用现有的 MySQL 客户端工具无缝连接到金仓数据库。为了实现这一功能,需要进行一些简单的配置。
[shawnyan@kes data]$ grep 'port = ' kingbase.conf
port = 54321 # (change requires restart)
extension_protocol_port = 3308
[shawnyan@kes data]$
完成配置后,启动数据库服务,并检查端口监听情况:
[shawnyan@kes ~]$ ss -antpl | grep kingbase
LISTEN 0 244 0.0.0.0:3308 0.0.0.0:* users:(("kingbase",pid=8716,fd=17))
LISTEN 0 244 0.0.0.0:54321 0.0.0.0:* users:(("kingbase",pid=8716,fd=15))
LISTEN 0 244 [::]:3308 [::]:* users:(("kingbase",pid=8716,fd=18))
LISTEN 0 244 [::]:54321 [::]:* users:(("kingbase",pid=8716,fd=16))
[shawnyan@kes ~]$
此时,用户可以使用原生 MySQL 客户端工具连接到金仓数据库的 3308 端口,并进行相关操作。
使用 Navicat 连接金仓数据库
Navicat 是一款广泛使用的数据库管理工具,支持多种数据库系统。从 Navicat 17.3 开始支持金仓数据库,用户可以通过 Navicat 连接金仓数据库并进行管理。

使用 MySQL 驱动连接金仓数据库
原先需要使用金仓数据库驱动连接 KES,现在可以直接使用 MySQL 驱动连接,只需修改驱动字符串即可。

总结
本期内容先到这里,MySQL 兼容模式功能目前已经比较完善,达到批量投产上线水平,但是 MySQL 协议支持特性刚出,还有待加强。
社区邀请
诚邀您一起参与金仓产品体验官活动,如遇到问题可以来金仓论坛发帖。
注册链接(注册时邀请人输入框可填:老K):
https://bbs.kingbase.com.cn/register
福利放送
又到福利抽奖环节,欢迎大家级级参与!
具体参见公众号:少安事务所

方式一
转发本文到朋友圈或群聊,在本文留言并附上转发截图,即可参与抽奖。
一等奖(1名):金仓社区定制双肩包

二等奖(2名):金仓社区定制文化衫(白色)

方式二
发送消息:金仓 到公众号,获取抽奖链接
奖品: 金仓数据库 KingbaseES DBA 实践(共三本)

Have a nice day ~ ☕
🌻 往期精彩 ▼
- 月黑风高单挑 MySQL 开发者认证 (1Z0-909)
- 一文带你了解 KING BASE 金仓数据库
- 一文带你了解 KWDB 数据库
- 广东的崖山,中国的崖山数据库
- 全球 Oracle ACE 社区突破 500 位成员
- 即将告别 PG 12,建议升级到 PG 16.3 版本
- 如何选择适合的 MySQL Connector/J 版本
- 「合集」三年 50 篇,TiDB 干货全收录
- 「合集」MySQL 8.x 系列文章汇总
– / END / –
👉 这里也可以找到我
- ITPUB:https://blog.itpub.net/31492144/
- OSCHINA:https://my.oschina.net/mysqloffice
- TiDB 专栏:https://tidb.net/u/ShawnYan/post/all
- PGFans:https://pgfans.cn/user/home?userId=1193
- 墨天轮:https://www.modb.pro/u/3351
- IF Club:https://ifclub.com.cn/userCenter/1897171302338498562
👉 这里有得聊
如果对国产基础软件(操作系统、数据库、中间件)感兴趣,可以加群一起聊聊。
关注微信公众号:少安事务所,后台回复[群],即可看到入口。
如果这篇文章为你带来了灵感或启发,请帮忙『三连』吧,感谢!ღ( ´・ᴗ・` )~




