国产数据库 License 到期了会宕机吗?
国产数据库 License 到期了会停库吗?
前 言
开源数据库是不存在 License 这个说法的,只有商业数据库才有 License 这个说法,而且 License 授权和价格没有统一的标准,每个行业每一个公司都不太一样,毕竟前段时间还有 130 块钱一套的国产数据库,你能用 130 块买一套国产数据库吗?今天我们先来看看金仓数据库 KingbaseES License 到期会怎么样?毕竟每个国产数据库对于这块的设计都不一样,只有使用过了才有发言权,不要道听途说,也欢迎使用过的朋友一起来评论区聊聊,避免后来者踩坑,谢谢!
License 分类
数据库 License 是 KingbaseES 提供的授权文件,其中会对数据库有效日期、发布类型、最大并发连接数、mac 地址、ip 等信息进行设置。如果在 License 文件中信息与安装环境中相关信息不匹配,数据库将无法启动。
License 根据用途可以分为两种类型,商用类型和非商用类型。
• 商用类型
用户购买的 License 都应属于商用类型。根据合同约定 License 的期限为永久有效或者为固定期限限制。
• 非商用类型
用于测试、试用等特殊用途的临时 License,提供临时授权,有着严格的期限限制。
金仓 License 有如下四种分类,差异如下图:
License 过期了会咋样
那么 License 要是过期了怎么办?有江湖传言,说国产数据库的 License 到期立马就会关闭数据库,不给你用了,真的是那样的吗?欢迎生产环境使用过的朋友一起来评论区聊聊。目前我只接触到头部的两家集中式数据库,当 License 过期后并没有直接关库,而是可以正常使用,一家仅在日志中提示,重启也可以正常启动,另一家仅在登录的时候提示,但要是重启那么就无法正常启动了。
某日中午使用到了金仓 KES 单机测试数据库,出于好奇,是一台使用 90 天测试授权的 License 过期的个人测试数据库,想着重启一下看看会怎么样?于是就停止了数据库,打算重启一下,然后就启不来了,也是第一次遇到这种情况,特此记录一下。
如果不重启数据库或不重启主机,那么 License 过期了是没有影响的,任何功能都不限制,只是在登录 ksql 的时候有快到期提醒或者过期的提示。
WARNING:License file expired. Please replace the license file in time[kingbase@jiekexu ~]$ sys_ctl stop -D $KINGBASE_DATA
waiting for server to shut down.... done
server stopped
[kingbase@jiekexu ~]$
[kingbase@jiekexu ~]$ sys_ctl start -D $KINGBASE_DATA
waiting for server to start....FATAL: XX000: License file expired.
LOCATION: KesMasterMain, master.c:851
stopped waiting
sys_ctl: could not start server
Examine the log output.修改操作系统时间
第一次修改为去年今天的时间(20240729),然后启动实例也是不行,因为这个时候还没安装数据库呢,实例是今年2月24号创建的,第二次将时间修改为今年四月份(20250429),然后才正常启动。
查看 License 文件内容
因为 License 是中文文本内容,我们可以设置成中文格式查看一下内容,可以看到有效期是 90天,从数据库安装时间算起。
[kingbase@jiekexu install]$ find /data/KingbaseES -name license.dat
/data/KingbaseES/V9/KESRealPro/V009R001C001B0030/license.dat
/data/KingbaseES/V9/license.dat
[kingbase@jiekexu install]$ export LANG=zh_CN.UTF-8
[kingbase@jiekexu install]$ more license.dat
-------------------END KINGASE.LICENSE.3.0 PRIVATE KEY---------------------
License序列号 --- 启用 --- 197C9F62-3209-11EF-AACD-000C29CBE49F
生产日期 --- 启用 --- 2024-06-24
产品名称 --- 启用 --- KingbaseES V8
细分版本模板名 --- 启用 --- SALES-企业版 V9R1
产品版本号 --- 启用 --- V009R001C
浮动基准日期 ------ 启用
有效期间 --- 启用 --- 90
用户名称 --- 启用 --- 官方网站试用授权
项目名称 --- 启用 --- 官方网站试用授权[kingbase@jiekexu~]$ ksql
Type "help" for help.
WARNING:License file will expire in26 days.
--查看 License 剩余时间
kingbase=# select get_license_validdays();
get_license_validdays
-----------------------
26
(1row)License 替换办法
文件过期的现象:有错误显示:License file expired
解决办法:
第一步:寻找原厂要对应版本的新license文件 第二步:搜索主机上的license文件
find / -name license.datchown -R kingabse:kingbase license.dat1. 安装目录下的license文件
2. 安装目录下的Server/bin下的license文件
3. 安装目录下的Cluster/bin下的license文件
4. 安装目录下的ManagerTools/tools/bin下的license文件
第四步:重启或者重载生效。
重启生效
sys_ctl restart -D $KINGBASE_DATA生产环境建议动态生效,不用重启库
select sys_reload_conf();
select pg_reload_conf();第五步:登录数据库查看 License 剩余时间
--查看 License 剩余时间
kingbase=# select get_license_validdays();
get_license_validdays
-----------------------
365test=# select version();version----------------------------------------------------------------------------------------------------------------------KingbaseES V009R001C001B0025 on x86_64-pc-linux-gnu, compiled bygcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28), 64-bit(1 行记录)test=# select get_license_validdays();get_license_validdays-----------------------61(1 行记录)
test=# select sys_reload_license('');错误: 函数 sys_reload_license(unknown) 不存在第1行select sys_reload_license('');^提示: 没有匹配指定名称和参数类型的函数. 您也许需要增加明确的类型转换.test=#test=# select sys_reload_license(NULL);错误: 函数 sys_reload_license(unknown) 不存在第1行select sys_reload_license(NULL);^提示: 没有匹配指定名称和参数类型的函数. 您也许需要增加明确的类型转换.
官方文档中还提到 reload_license 但是我这里没有这个命令,不知道是不是特定版本才有,我这里是 V009R001C001B0030,查看了 V009R001C001B0025 版本也没有,但官方文档里是 V009R001C002B0014,估计后续版本取消了?后面再看吧。
$ sys_ctl -D data reload_license /xxx/xxx/xxx/license.dat
Checking license file...
Check successfully. license will never expires.
Reload successfully.参考链接
https://bbs.kingbase.com.cn/docHtml?recId=d16e9a1be637c8fe4644c2c82fe16444&url=aHR0cHM6Ly9iYnMua2luZ2Jhc2UuY29tLmNuL2tpbmdiYXNlLWRvYy92OS9oaWdobHkvYXZhaWxhYmlsaXR5L2luZGV4Lmh0bWw眼见它起高楼,眼见高楼塌,Oracle裁撤MySQL团队,社区版危矣!
消失的数据库巨头,如今只剩3家活着!
给每种语言 1GB 内存,看看谁先死 !
《AI数据分析之ChatBI发展与应用实践》白皮书(附下载)正式上线啦
Linux 一键巡检脚本,建议收藏!
MySQL要坐不住了!Vitess之父Sugu“投敌”Postgres造新数据库,这次真要掀翻桌子?
为什么DeepSeek火之后,人们想到的是大量裁员,而不是实行上三休四?
苹果“痛下杀手”弃Java,用自家语言Swift重写关键服务:内存减90%,性能增40%!
号外!《核心系统分布式数据库选型指南》电子书(附下载)正式上线
解锁数据架构现代化密码,《实时数仓选型指南》电子书(附下载)正式上线啦