惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
Microsoft Security Blog
Microsoft Security Blog
Recent Announcements
Recent Announcements
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Last Week in AI
Last Week in AI
罗磊的独立博客
腾讯CDC
云风的 BLOG
云风的 BLOG
月光博客
月光博客
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 三生石上(FineUI控件)
宝玉的分享
宝玉的分享
U
Unit 42
I
InfoQ
D
DataBreaches.Net
Blog — PlanetScale
Blog — PlanetScale
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
V
V2EX
美团技术团队
IT之家
IT之家
Stack Overflow Blog
Stack Overflow Blog
F
Fortinet All Blogs
GbyAI
GbyAI
S
SegmentFault 最新的问题

博客园_首页

Linux实操--组管理、权限管理和定时任务 Java + EasyExcel 实现单个接口导出多个Excel Mem0 源码解析系列(二):提示词工程的深度剖析 Openclaw TaskFlow究竟是什么?和普通Skill技能有什么区别 博文阅读密码验证 - 博客园 嘉立创开源:应该是全网MicroPython教程最多的开发板 Hermes Agent 集成实践:从协议到生产 2026年AI编程工具横评:Cursor、Codex、Claude Code、Zed、Windsurf Java程序员必看的RAG入门教程 2026 AI效率神器:Superpowers + Claude Code 保姆级教程 本地大模型部署全攻略:从 0 到 1 玩转 Ollama 【从0到1构建一个ClaudeAgent】内存管理-上下文压缩 .NET 高级开发 | 设计、实现一个事件总线框架 电子小白入门之NE555 3. WorkBuddy:隐藏玩法,一键召唤专家,让 AI 以"专家身份"给你干活 和AI一起搞事情#3:Claude Teammate 游戏开发翻车实录 【OpenClaw】通过 Nanobot 源码学习架构---(7)Memory C# .NET 周刊|2026年3月3期 我在 Debian 11 上把 K8s 单机搭起来了,过程没你想的那么顺(/opt 目录版) 深度学习进阶(七)Data-efficient Image Transformer CLI+Skill搭建浏览器AI自动化框架,告别一切重复枯燥任务 告别Token账单无底洞:OpenClaw本地部署,重塑企业数据主权的唯一解 FastAPI+Vue:文件分片上传+秒传+断点续传,这坑我帮你踩平了! SBTI 爆火后,我做了个程序员版的 CBTI。。已开源 + 附开发过程 多模态检索开始进入工程期:用 Sentence Transformers 搭建可落地的 Multimodal RAG 100多行代码实现一个最简单的Agent(用ReAct) Claude Code 通关手册(八):推荐 5 个 Hooks,代码质量提升 3 倍 老板:“有人截图了!”。安全部门:“收到,马上查暗水印!” - why技术 技术之外,皆是人间 C#/.NET/.NET Core技术前沿周刊 | 第 69 期(2026年4.01-4.12)
更换 Kingbase V9 License 踩坑记
Theo·Chan · 2026-06-17 · via 博客园_首页

更换 Kingbase V9 License 踩坑记

本地测试环境使用KDTS迁移数据时候遇到连接用户过多错误,原因是初始化Kingbase实例时候指定的开发版license限制最大连接数10

我用官网的更换 license 文件 - License管理 | KingbaseES方法更换失败:

[kingbase@localhost V9]$ ./Server/bin/sys_ctl -D data reload_license -L ./license_4_V009R001C-pro_180days.dat
SELECT GET_LICENSE_VALIDDAYS();
-- | get_license_validdays |
-- | 364                   |

仍然是原来的 开发版365天 授权。

所以在此记录更换license步骤。

第一步:定位当前的 License 文件并确定操作

  1. 登录数据库,执行以下 SQL 查询数据目录的绝对路径:
SHOW data_directory;

假设返回结果为:/opt/Kingbase/ES/V9/data

  1. 在该目录的父级查找 license.dat 文件:
find /opt/Kingbase/ES/V9/ -name "license.dat"

输出了三个license.dat文件,已知安装时候使用的授权是开发版365天。经过 ls -la,确认了这三个文件:

文件路径 内容 描述 是否更换
/opt/Kingbase/ES/V9/KESRealPro/V009R001C010/Server/bin/license.dat 企业版,90天试用授权 ksql、sys_dump等客户端工具启动时校验自身合法性 猜测KDTS使用ksql/sys_dump/sys_restore等命令时候可能会校验该授权文件。
/opt/Kingbase/ES/V9/KESRealPro/V009R001C010/license.dat 开发版,365天试用授权 数据库实例实际使用的授权 予以替换
/opt/Kingbase/ES/V9/license.dat -> /opt/Kingbase/ES/V9/KESRealPro/V009R001C010/license.dat 软链接 初始化数据库实例时候指定的授权文件,在实例化数据库时被迁移到了KESRealPro/V009R001C010/license.dat 予以替换

因此只需要替换/opt/Kingbase/ES/V9/KESRealPro/V009R001C010/license.dat即可。

第二步:替换真正的授权文件

  1. 准备授权文件

新的授权文件上传到了/opt/Kingbase/ES/V9/license_4_V009R001C-pro_180days.dat。先以root用户修改新授权文件权限:

sudo -i 
# [sudo] kingbase 的密码:
cd /opt/Kingbase/ES/V9/
chown kingbase:kingbase license_4_V009R001C-pro_180days.dat
chmod 77 license_4_V009R001C-pro_180days.dat
  1. 备份并替换授权文件

切换到kingbase用户,备份并替换授权文件:

su kingbase
# 确认当前目录
cd /opt/Kingbase/ES/V9/
mv ./KESRealPro/V009R001C010/license.dat ./KESRealPro/V009R001C010/license.dat.260617.bak
ls -la ./KESRealPro/V009R001C010/ | grep license
# -rw-rw-r--  1 kingbase kingbase 5036  6月 17 09:58 license.dat
# -rw-rw-r--  1 kingbase kingbase 4998  6月 16 15:02 license.dat.260617.bak

第三步:重载license

  1. 重载license再次失败

按照官方文档,sys_ctl ... reload_license ...

cd /opt/Kingbase/ES/V9/Server/bin
./sys_ctl -D /opt/Kingbase/ES/V9/data reload -L /opt/Kingbase/ES/V9/KESRealPro/V009R001C010
/license.dat
# Checking license file...
# Check successfully. license file will expire in 2026-12-14.
# Reload successfully.

在数据库查询中验证:

SELECT GET_LICENSE_VALIDDAYS();
-- | get_license_validdays |
-- | 364                   |

仍然是原来的 开发版365天 授权。

  1. 重启数据库实例
./sys_ctl restart -D /opt/Kingbase/ES/V9/data
# 等待服务器进程关闭 .... 完成
# 服务器进程已经关闭
# 等待服务器进程启动 ....2026-06-17 10:24:48.035 CST [46474] LOG:  请尽快配置有效的归档命令做WAL日志文件的归档
# ...
#  完成
# 服务器进程已经启动

在数据库查询中验证授权:

SELECT GET_LICENSE_VALIDDAYS();
-- | get_license_validdays |
-- | 180                   |

至此,已经把旧的 license开发版 365天替换为专业版 180天