1. 环境准备:银河麒麟系统与人大金仓的初次见面
最近在做一个国产化替代的项目,技术栈要求全部迁移到国产软硬件平台,数据库选型就定在了人大金仓。说实话,一开始心里是有点打鼓的,毕竟平时用惯了MySQL和PostgreSQL,对国产数据库的生态和兼容性了解不多。但实际折腾下来,发现从银河麒麟系统安装到SpringBoot集成,整个过程比想象中要顺畅不少,当然也踩了几个不大不小的坑。如果你也正面临类似的国产化迁移任务,或者单纯想了解一下这套技术栈,那我的这些经验或许能帮你少走点弯路。
首先得说说我们的基础环境。服务器用的是搭载了银河麒麟高级服务器操作系统V10的机器,这是一个基于Linux内核的国产操作系统,用起来和常见的CentOS、Ubuntu差别不大,命令行操作基本是相通的。人大金仓数据库我们选的是KingbaseES V9版本,这是他们的企业级产品,功能比较全面。这里有个小提示,官网提供的开发版默认授权是一年,到期后直接在官网申请更新License文件替换就行,不影响数据,流程也不复杂。整个安装部署的逻辑,可以理解为在Linux系统上装一个加强版的PostgreSQL,因为金仓在语法和协议上对PostgreSQL兼容性做得不错,这对我们后续的迁移和开发是个大利好。
准备工作除了系统,就是安装包了。直接去人大金仓的官网(现在叫“电科金仓”)下载对应银河麒麟系统(通常是Linux ARM或x86_64版本)的安装包。官网文档中心里有一份《基于Linux系统的数据库软件安装指南》,写得非常详细,建议动手前先通读一遍。安装方式一般有三种:图形化安装、命令行安装和静默安装。图形化安装需要桌面环境,对于服务器来说不太现实;静默安装适合批量部署;对于单台服务器,我更喜欢用命令行安装,感觉可控性更强,每一步在干什么都清清楚楚。接下来,我就带你走一遍命令行安装的完整过程。
2. 数据库安装与初始化:手把手搞定KES
拿到安装包,通常是一个以.iso或.tar.gz结尾的文件。我们假设你下载的是KingbaseES_V009R001C002B0014_Lin64_install.tar.gz。首先通过终端或者SSH连接到你的银河麒麟服务器,创建一个专门的目录来存放安装文件,比如/opt/kingbase_install,然后把安装包上传到这个目录。
第一步是解压。进入目录,执行解压命令:
cd /opt/kingbase_install
tar -zxvf KingbaseES_V009R001C002B0014_Lin64_install.tar.gz
解压后会生成一个安装程序目录。接下来,你需要以root用户或者具有sudo权限的用户来运行安装脚本。关键的一步来了:运行安装命令。我常用的命令格式是这样的:
sudo ./setup.sh -i console
这个-i console参数就是指定使用控制台(命令行)交互模式。运行后,安装程序会启动一个文字向导,依次让你选择安装语言、同意许可协议、选择安装目录。安装目录我一般就用默认的/opt/Kingbase/ES/V9,比较规范。然后会提示你输入数据库超级用户(system)的密码,这个密码一定要记牢,后续管理和连接全靠它。接着是设置数据库端口,默认是54321(是不是很像PostgreSQL的5432?),如果没有冲突,用默认的就行。最后是选择初始化数据库的字符集和区域,根据你的应用需求选择,比如UTF-8。
安装过程大概几分钟,完成后会提示安装成功。这时候,数据库服务默认是启动的。你可以通过检查服务状态来确认:
sudo systemctl status kingbase.service
如果看到active (running)的字样,说明服务已经跑起来了。
安装完第一件事是什么?不是急着建库建表,而是先登录进去看看。金仓的命令行工具叫ksql,位于安装目录的Server/bin下。比如我的完整路径是/opt/Kingbase/ES/V9/KESRealPro/V009R001C002B0014/Server/bin。切换到那个目录,用以下命令连接自带的测试库test:
./ksql -p 54321 -U system t

5861

被折叠的 条评论
为什么被折叠?



