手把手教你在国产麒麟/Linux下安装人大金仓Kingbase v9数据库,以及本地navicat连接人大金仓数据库,跟着做安装成功率99%!_navicat连接kingbase
安装人大金仓数据库,根据官方要求需要检查系统配置,如果配置与官方不一致可能涉及到重启系统的操作,如果是在生产的环境上重启服务是很严重的问题,所以如果只是为了学习安装人大金仓数据库并简单的操作:
个人建议,这些参数感觉不修改也没啥大问题,下面是检查参数的步骤,如果想要了解,就往下看,或直接调到第二段,进行安装。
一、检查参数
查看semmsl,semmns,semopm,semmni的值,输出如下
四个数值分别对应:kernel.sem = 32000 1024000000 500 32000
- 第1个值:
semmsl
(每个信号量集的最大信号量数) - 第2个值:
semmns
(系统范围内信号量总数) - 第3个值:
semopm
(单次semop
调用允许的最大操作数) - 第4个值:
semmni
(系统允许的信号量集最大数量)
/sbin/sysctl -a | grep sem
或者通过
cat /proc/sys/kernel/sem
直接输出四个值 依次分别是semmsl,semmns,semopm,semmni
或者
ipcs -ls
查看shmall
/sbin/sysctl -a | grep shm
或
cat /proc/sys/kernel/shmall
或
ipcs -lm
查看file-max
/sbin/sysctl -a | grep file-max
或
cat /proc/sys/fs/file-max
查看aio-max-nr
/sbin/sysctl -a | grep aio-max-nr
或
cat /proc/sys/fs/aio-max-nr
查看ip_local_port_range
/sbin/sysctl -a | grep ip_local_port_range
或
cat /proc/sys/net/ipv4/ip_local_port_range
查看rmem_max
/sbin/sysctl -a | grep rmem_max
或
cat /proc/sys/net/core/rmem_max
查看rmem_default
/sbin/sysctl -a | grep rmem_default
或
cat /proc/sys/net/core/rmem_default
查看wmem_default
/sbin/sysctl -a | grep wmem_default
或
cat /proc/sys/net/core/wmem_default
查看 wmem_max
/sbin/sysctl -a | grep wmem_max
或
cat /proc/sys/net/core/wmem_max
查看tcp_wmem
/sbin/sysctl -a | grep tcp_wmem
查看tcp_rmem
/sbin/sysctl -a | grep tcp_rmem
经过对比这个系统的aio-max-nr没有达到官方要求的,所以我值添加了这个的变动,其他参数都比官方推荐的值大,并经过ai的解释,个人理解不用修改,所以没改
通过编辑/etc/sysctl.conf文件修改参数
添加需要配置的参数,下面是官方给的参考值
使用vim /etc/sysctl.conf 按i插入,编辑完成过后按esc 退出编辑 输入:wq保存并退出
内核参数修改完毕后,重启Linux系统,并输入如下命令查看内核参数的修改是否正确:
注意重启linux如果在生产环境不要随意重启。谨慎操作,谨慎操作,谨慎操作!!!
第一段看看就行下面安装才是重点
二、安装前准备
在安装KingbaseES时,安装用户对于安装路径需有“读”、“写”、“执行”的权限。在Linux系统中,需要以非root用户执行安装程序,且该用户要有标准的home目录。
因此,建议在正式安装前,新建 kingbase 用户作为KingbaseES专用的系统用户,先使用root用户运行如下命令创建kingbase用户:
useradd -m kingbase
该命令会同时创建同名用户组kingbase以及用户根目录/home/kingbase。继续运行如下命令设置kingbase用户的密码:
passwd kingbase
密码需要输入两次,保证两次输入的密码相同。记得把密码记下来
KingbaseES默认的安装目录是
/opt/Kingbase/ES/V9
如果不存在,需要使用root用户先创建该目录,并赋予kingbase用户对该目录的读写权限。
创建安装目录
mkdir /opt/Kingbase/ES/V9
下面是使用xftp查看该目录的截图
授权
chmod o+rwx /opt/Kingbase/ES/V9
切换到kingbase用户
su - kingbase
数据目录是KingbaseES中存放数据文件的目录,默认是在安装目录下的data目录。数据目录不必事先创建。安装过程中会提示指定数据目录,如果目录不存在安装程序会自动创建。也可以如下命令创建数据目录
三、下载安装文件与挂载
注意要切换到 kingbase 用户,进行以下操作
使用下面的命令查看操作系统信息:
cat /etc/*release
根据自己的系统选择对应的安装文件,本次使用的系统是麒麟,所以选择的是x86_64版本,注意区分版本,别下载成docker版本了
通过下面命令查看内存信息(以MB单位显示)
free -m
通过以下命令查看磁盘存储信息(以GB单位显示):
df -hl
官方提示》注意: /tmp目录需要至少10G空间。如果安装过程中出现存储空间不足的情况,请先释放足够的磁盘空间,再执行安装程序。如果硬件配置不满足要求,需要更换满足要求的硬件设备再进行安装。
以上准备工作完成后,打开人大金仓官网进入下载页面选择对应的安装包下载,并上传到服务器上
下载安装文件
下载时对应的文件有MD5校验值与SHA1校验值可以先复制保存下来。
下载地址:
电科金仓-成为世界卓越的数据库产品与服务提供商
这次安装的是KingbaseES_V009R001C002B0014_Lin64_install版本,在传到服务器之后对安装文件进行校验完整性。
下载授权文件
下载授权文件,可以根据需求下载授权文件,下载好授权文件后解压该文件并上传到服务器,以便后面安装时选择授权文件使用。dat文件就是授权文件。
下面在服务器校验安装文件完整性:
假设拿到的安装包文件是KingbaseES_V009R001C002B0014_Lin64_install.iso,查看其MD5值:
md5sum KingbaseES_V009R001C002B0014_Lin64_install.iso
查看其SHA1值:
sha1sum KingbaseES_V009R001C002B0014_Lin64_install.iso
通过返回的值与刚刚下载时让复制的值比对如果一致,说明安装文件正常;如果不一致,说明安装文件可能不完整,安装过程可能无法正常完成。
挂载iso安装文件
下载的安装文件是iso文件,iso格式的安装程序包需要先挂载才能使用。挂载iso文件需要使用root用户。
首先切换到root用户
比如挂载的目录是与iso文件在同一级的目录 KingbaseES,可以运行如下命令进行挂载:
首先进入你iso文件所存放的目录,我将iso文件放在了opt目录
cd /opt
在opt目录先创建新的目录KingbaseES
mkdir KingbaseES
挂载iso文件到KingbaseES目录
mount KingbaseES_V009R001C002B0014_Lin64_install.iso ./KingbaseES
挂载成功后查看 KingbaseES 目录会有两个安装文件
四、安装
人大金仓支持图像化安装、命令行安装、静默安装,由于直接在服务器安装,所以采用的是命令行安装
刚刚挂载iso文件时切换到了root用户,现在需要 切换到 kingbase 用户
安装支持中文和英文的安装。根据操作系统的语言设置会显示对应语言的安装界面。您可以执行如下命令查看操作系统的语言设置:
echo $LANG
如果系统显示值包含“zh_CN”,则为中文语言,安装程序会使用中文界面。否则,您可以执行如下命令修改语言设置为中文:
export LANG=zh_CN.UTF-8
下面进入安装程序 setup.sh 所在目录,执行如下命令:
sh setup.sh
或
sh setup.sh -i swing
一直回车即到选择授权文件,输入刚刚授权文件上传到的绝对路径,并回车,若授权文件正确则会输出授权文件信息
继续往下进行,如果在之前已经创建好了/opt/Kingbase/ES/V9目录,直接回车接受安装路径输入1回车即可
继续回车
选择存储数据的文件,默认,输入回车即可
数据库端口,默认为54321,直接输入回车即可
数据库管理员,可以默认,默认直接输入回车,默认管理员用户名为:system,也可以设置为root
设置数据库密码,设置完请保存下来不要忘记了,到这里已经有两个密码了,一个是Linux系统的kingbase用户密码,一个是数据库用户密码 不要弄混了,记录密码的时候请分清楚。
设置字符集为UTF-8,输入数字2并回车即可
设置数据库区域,输入2 回车即可
选择数据库兼容模式
设置英文大小写敏感
设置存储块大小,如果使用的是机械硬盘,就默认8K,避免单次I/O延迟过高
使用的SSD/NVMe存储,适合较大块(如16KB
~32KB
),利用高吞吐特性
自定义参数,默认即可
接下来数据库就开始安装了,安装完成后
将KngbaseES V9注册为系统服务
取消挂载
安装完成后,将iso文件的挂载取消
切换到Linux系统的root用户,如果root用户设置密码了,请输入密码
su
在opt目录下 执行下面的命令,如果执行时报 目标忙,可以百度ai搜索一下 目标忙怎样处理然后杀掉该进程,再次执行下面的命令
umount /opt/KingbaseES
执行成功后查看KingbaseES文件夹已经没有安装程序的文件了
接下来就可以将iso文件,授权文件以及KingbaseES目录删除掉了
五、数据库的启动
至此人大金仓Kingbase已经安装成功
查看kingbase的状态
使用如下命令
刚刚切换到了root用户取消挂载iso文件,现在需要切换到 kingbase 用户,一定要切换到kinbase用户才可以做以下操作
su kinbase
进入 kinbase 的安装路径的 /Server/bin 目录,在该目录下执行下面的命令
注意 /opt/Kingbase/ES/V9/data/ 应该替换成你自己安装的数据目录data的路径,如果全程按照该教程,直接执行下面的命令就可以,可以看到服务正在运行中。
./sys_ctl status -D /opt/Kingbase/ES/V9/data/
停止kingbase服务
同样需要进入kinbase的安装路径下的 /Server/bin 目录,在该目录下执行下面的命令
注意 /opt/Kingbase/ES/V9/data/ 应该替换成你自己安装的数据目录 data的路径
./sys_ctl stop -m fast -w -D /opt/Kingbase/ES/V9/data
再次查看状态
启动kingbase服务
同样需要进入kinbase的安装路径下的 /Server/bin 目录,在该目录下执行下面的命令
注意 /opt/Kingbase/ES/V9/data/ 应该替换成你自己安装的数据目录 data的路径
sys_log是kingbase的数据库日志目录,用来存放产生的日志
./sys_ctl -w start -D /opt/Kingbase/ES/V9/data -l \"/opt/Kingbase/ES/V9/data/sys_log/startup.log\"
进入ksql
下面介绍一下如何进入ksql,并执行ksql命令
同样需要进入kinbase的安装路径下的 /Server/bin 目录,在该目录下执行下面的命令
注意如果在前面安装时没有设置用户而是接受使用默认用户,那么root应该替换为system
./ksql -U root -d test
然后输入安装时设置的数据库的用户密码,就进入到ksql了
test
数据库是系统初始化时自动创建的示例数据库,主要用于测试和快速验证环境可用性。
可以写一个查询语句测试,查询当前用户
SELECT current_user;
输入exit退出ksql。
六、navicat远程连接人大金仓kingbase数据库
首先需要查看自己的navacat版本我的是navicat15.0.11,通过测试可以连接人大金仓数据库,在此之后的版本应该也支持,之前的暂未测试。
新建连接选择PostgreSQL
填写相关信息
测试连接
如果kingbase安装在linux服务器上,检查填写的信息都正确,还是连接失败,可以看一看Linux服务器防火墙是否关闭,或者54321端口是否对外开放。然后再测一次即可。
至此关于人大金仓kingbase数据库的安装与连接全部结束。
本文参考了人大金仓官方文档。
https://bbs.kingbase.com.cn/docHtml?recId=d16e9a1be637c8fe4644c2c82fe16444&url=aHR0cHM6Ly9iYnMua2luZ2Jhc2UuY29tLmNuL2tpbmdiYXNlLWRvYy92OS9pbnN0YWxsLXVwZGF0YS9pbnN0YWxsLWxpbnV4L2luZGV4Lmh0bWwhttps://bbs.kingbase.com.cn/docHtml?recId=d16e9a1be637c8fe4644c2c82fe16444&url=aHR0cHM6Ly9iYnMua2luZ2Jhc2UuY29tLmNuL2tpbmdiYXNlLWRvYy92OS9pbnN0YWxsLXVwZGF0YS9pbnN0YWxsLWxpbnV4L2luZGV4Lmh0bWw