https://www.kingbase.com.cn/rjcxxz/index.htm
选择linux系统安装包下载
下载授权文件,此例选择开发版。注意开发板连接数限制为10
https://www.kingbase.com.cn/sqwjxz/index.htm
授权文件差异如下
https://www.kingbase.com.cn/cyymcysm/index.htm
https://help.kingbase.com.cn/v8/install-updata/install-linux/index.html
切换到 root 用户,将 人大金仓数据库的 iso 安装包挂载在任意位置,例如 /kingbase 目录下,
新建挂载目录/kingbase
mkdir /kingbase
进入iso所在目录,这里的pathToIso修改为实际ISO所在目录。
cd pathToIso/KingbaseES_V008R006C007B0024_Lin64_install.iso
执行如下命令挂载镜像:
mount cd pathToIso/KingbaseES_V008R006C007B0024_Lin64_install.iso /kingbaseES/
为了以后用到还需要再次挂载iso,复制iso安装包到操作系统上任意目录,此例为/home/package 目录
cp -r /kingbaseES/ /home/package
查看安装包
root@debian:/home/package# ls -l /home/package/kingbaseES/
total 8
dr-xr-xr-x 2 root root 4096 Apr 9 00:13 setup
-r-xr-xr-x 1 root root 3829 Apr 9 00:11 setup.sh
root@debian:/home/package# ls -l /home/package/kingbaseES/*
-r-xr-xr-x 1 root root 3829 Apr 9 00:11 /home/package/kingbaseES/setup.sh
/home/package/kingbaseES/setup:
total 2606076
-r-xr-xr-x 1 root root 2668607786 Apr 9 00:13 install.bin
-r-xr-xr-x 1 root root 46 Apr 9 00:13 MD5
-r--r--r-- 1 root root 1418 Apr 9 00:13 silent.cfg
root@debian:/homepackage#
取消挂载安装包镜像
umount /kingbaseES
此时KingbaseES已经和iso文件解除挂载关系,在KingbaseES目录下不会再看到安装相关文件。
root@debian:/home/package# cd /kingbaseES/
root@debian:/kingbaseES# ls -la
total 8
drwxr-xr-x 2 root root 4096 Apr 9 00:09 .
drwxr-xr-x 23 root root 4096 Apr 9 00:09 ..
root@debian:/kingbaseES#
为了避免在KingbaseES安装和使用过程中出现问题,需要检查和设置内核参数。
参数 | 查看命令 |
---|---|
semmsl, semmns, semopm, and semmni | # /sbin/sysctl -a |
shmall, shmmax, and shmmni | # /sbin/sysctl -a |
file-max | # /sbin/sysctl -a |
ip_local_port_range | # /sbin/sysctl -a |
rmem_default | # /sbin/sysctl -a |
rmem_max | # /sbin/sysctl -a |
wmem_default | # /sbin/sysctl -a |
wmem_max | # /sbin/sysctl -a |
aio-max-nr | # /sbin/sysctl -a |
tcp_wmem | # /sbin/sysctl -a |
tcp_rmem | # /sbin/sysctl -a |
参数 | 参考值 | 所在文件 |
---|---|---|
semmsl | 250 | /proc/sys/kernel/sem |
semmns | 32000 | |
semopm | 100 | |
semmni | 128 | |
shmall | 2097152 | /proc/sys/kernel/shmall |
shmmax | 最小: 536870912 最大: 物理内存值减去1字节 建议: 大于物理内存的一半 | /proc/sys/kernel/shmmax |
shmmni | 4096 | /proc/sys/kernel/shmmni |
file-max | 6815744 | /proc/sys/fs/file-max |
aio-max-nr | 1048576; 注意: 本参数限制并发发出 的请求数量。应该设置以避免IO 子系统的失败。 | /proc/sys/fs/aio-max-nr |
ip_local_port_range | 最小: 9000; 最大: 65500 | /proc/sys/net/ipv4/ip_local_port_range |
rmem_default | 262144 | /proc/sys/net/core/rmem_default |
rmem_max | 4194304 | /proc/sys/net/core/rmem_max |
wmem_default | 262144 | /proc/sys/net/core/wmem_default |
wmem_max | 1048576 | /proc/sys/net/core/wmem_max |
fs.aio-max-nr= 1048576
fs.file-max= 6815744
kernel.shmall= 2097152
kernel.shmmax= 4294967295
kernel.shmmni= 4096
kernel.sem= 250 32000 100 128
net.ipv4.ip_local_port_range= 9000 65500
net.core.rmem_default= 262144
net.core.rmem_max= 4194304
net.core.wmem_default= 262144
net.core.wmem_max= 1048576
Linux资源限制配置文件是/etc/security/limits.conf。限制用户可使用的资源数量对系统的稳定性非常重要。可以通过调整资源限制数量改进系统性能。limits.conf文件如下所示:
其中soft是一个警告值,hard是真正意义的阈值,超过系统就会报错,一般情况下两者设为同一个值。一般保持系统安装时的默认值即可。可配置的资源有如下种类:
资源项 | 含义 |
---|---|
core | 内核文件大小(KB) |
data | 最大数据大小(KB) |
fsize | 最大文件大小(KB) |
memlock | 最大锁定内存地址空间(KB) |
nofile | 最大打开的文件描述符数量 |
rss | 最大持久设置大小(KB) |
stack | 最大堆栈大小(KB) |
cpu | 最大CPU时间(分钟) |
noproc | 最大进程数量 |
as | 地址空间限制(KB) |
maxlogins | 用户最大登录次数 |
maxsyslogins | 系统上登录的最大数量 |
priority | 运行用户进程的优先级 |
locks | 用户可持有的最大文件锁数量 |
sigpending | 最大挂起的信号数量 |
msgqueue | POSIX消息队列使用的最大内存(字节) |
nice | 最大可提升到的合适优先级 |
rtprio | 最大实时优先级 |
# *表示所有用户,可只设置root和kingbase用户
* soft nofile 65536
# 注意:设置nofile的hard limit不能大于/proc/sys/fs/nr_open,否则注销后将无法正常登陆
* hard nofile 65535
* soft nproc 65536
* hard nproc 65535
# unlimited表示无限制
* soft core unlimited
* hard core unlimited
systemd-logind服务中引入的一个特性,是当一个用户退出系统后,会删除所有有关的IPC对象。该特性由/etc/systemd/logind.conf文件中的RemoveIPC参数控制。某些操作系统会默认打开,会造成程序信号丢失等问题(只有redhat7及以上和一些特殊的国产Linux的版本需要修改,改之前可先查看此项是否为默认yes)。设置RemoveIPC=no。 设置后重启服务:
systemctl daemon-reload
systemctl restart systemd-logind.service
cat /proc/sys/kernel/sem
依次是semmsl, semmns, semopm, and semmni
man proc
只要系统环境实际值>=参考值即可
经对照参考值,需修改semopm=1000
man proc
配置要求:系统值>=建议值
man proc
所允许的并发请求的最大个数
配置要求:实际值>=参考值
需要调整为参考值
在/etc/sysctl.conf 添加一行
fs.aio-max-nr= 1048576
默认的TCP数据接收窗口大小(字节)
配置要求:实际值>=参考值
需要调整为参考值
在/etc/sysctl.conf 添加一行
net.core.rmem_default= 262144
默认的TCP数据接收窗口大小(字节)
配置要求:实际值>=参考值
需要调整为参考值
在/etc/sysctl.conf 添加一行
net.core.rmem_max= 4194304
默认的TCP数据发送窗口大小(字节)。
配置要求:实际值>=参考值
需要调整为参考值
在/etc/sysctl.conf 添加一行
net.core.wmem_default= 262144
最大的TCP数据发送窗口(字节)。
配置要求:实际值>=参考值
需要调整为参考值
在/etc/sysctl.conf 添加一行
net.core.wmem_max= 1048576
输入如下命令查看内核参数的修改是否正确
/sbin/sysctl -p
/sbin/sysctl -a
参考修改
nofile、noproc、core参数可修改为如下值
# *表示所有用户,可只设置root和kingbase用户
* soft nofile 65536
# 注意:设置nofile的hard limit不能大于/proc/sys/fs/nr_open,否则注销后将无法正常登陆
* hard nofile 65535
* soft nproc 65536
* hard nproc 65535
# unlimited表示无限制
* soft core unlimited
* hard core unlimited
修改/etc/security/limits.conf
vi /etc/security/limits.conf
添加以下几行
kingbase soft nofile 65536
root soft nofile 65536
kingbase hard nofile 65535
root hard nofile 65535
kingbase soft nproc 65536
root soft nproc 65536
kingbase hard nproc 65535
root hard nproc 65535
kingbase soft core unlimited
root soft core unlimited
kingbase hard core unlimited
root hard core unlimited
最终效果如下:
配置要求:参数值为no
使命以下命令查看参数值
grep RemoveIPC /etc/systemd/logind.conf
Debian 10系统默认没有配置,默认是yes
修改前查看参数
修改为no
修改后重启服务
systemctl daemon-reload
systemctl restart systemd-logind.service
重启系统
在安装KingbaseES时,安装用户对于安装路径需有“读”、“写”、“执行”的权限。
在Linux系统中,需要以非root用户执行安装程序,且该用户要有标准的home目录。
因此,建议在正式安装前,新建kingbase用户作为KingbaseES专用的系统用户,
可以先使用root用户运行如下命令创建kingbase用户:
useradd -m kingbase -s /bin/bash
注意!!!
创建安装系统用户kingbase之后,如无特殊说明,本教程后续的操作默认使用kingbase用户进行操作。
该命令会同时创建同名用户组kingbase以及用户根目录/home/kingbase。继续运行如下命令设置kingbase用户的密码:
passwd kingbase
KingbaseES默认的安装目录是 /opt/Kingbase/ES/V8 。
如果不存在,您需要使用root用户先创建该目录,并赋予kingbase用户对该目录的读写权限。
也可以自定义安装路径。如自定义安装路径为 mkdir -p /home/kingbase/ES/V8 ,
使用kingbase用户创建目录的命令如下:
此例使用自定义安装目录
如果上一步创建用户时没有指定-s /bin/bash 就会报如下错误。已指定忽略下述内容。
su - kingbase
mkdir -p /home/kingbase/ES/V8
以下报错供参考
报错 切换不到kingbase用户
是因为useradd命令添加用户时,如果没有指定-s shell,默认的shell是/bin/sh。
因此删除kingbase,重新建立kingbase用户
useradd -m kingbase -s /bin/bash
数据目录是KingbaseES中存放数据文件的目录,默认是在安装目录下的data目录。
也可以与安装目录分开单独设置。您可以根据业务系统数据量来单独设置数据目录路径,
例如将数据目录初始化在本机硬盘或者挂载在盘阵上。 您可以运行如下命令创建数据目录:
mkdir /home/kingbase/ES/V8/data
注意
数据目录不必事先创建。安装过程中会提示指定数据目录,如果目录不存在安装程序会自动创建。
首先进入安装程序中setup.sh所在目录,以kingbase用户执行如下命令:
sh setup.sh -i console
选择1 回车
默认回车即可
下面一路回车 到这一步 输入Y 回车
默认回车 全量安装
输入license文件的绝对路径 回车
输入安装目录后回车,开始安装后会等待一段时间到完成,
完成安装后会进入初始化数据库
进入初始化数据库 选择数据目录,默认回车即可。
默认是安装目录下的data目录,会自动创建data目录。
也可以输入1个绝对路径作为数据目录。
默认回车即可,默认是54321。也可输入一个端口号进行自定义。
默认回车即可,默认是system。也可输入一个名字字符串进行自定义。
默认回车即可,默认是UTF-8。也可输入数字进行自定义。
选择1:UTF-8
稍安勿躁,等待初始化完成。
报错
安装中文字符集zh_CN.UTF-8即可
空格键选中,显示*就是选中了。
默认字符集选择为en_US.UTF-8。中文的话终端显示有时会乱码。
查看本地字符集
再次安装,回车即可
切换到root用户
su -
执行命令进行服务注册
/home/kingbase/ES/V8/install/script/root.sh
sysv-rc-conf --list|grep kingbase
查看数据库服务状态
systemctl status kingbase.service
切换到kingbase用户
su - kingbase
进入安装目录下的Server/bin 目录
cd ES/V8/Server/bin/
连接数据库
./ksql -p 54321 -U system test
查看已安装数据库的版本信息
./kingbase ?V;
以kingbase用户登录系统后,进入${安装目录}/Uninstall目录,
执行如下命令,启动卸载程序。
切换到Kingbase用户
su - kingbase
首先进入安装程序中setup.sh所在目录,执行如下命令启动安装程序
sh setup.sh -i console
选择1 回车
默认回车即可
下面一路回车 到这一步 输入Y 回车
默认回车 全量安装
输入license文件的绝对路径 回车
输入安装目录:和已有实例安装目录不同的目录
默认回车即可
稍安勿躁,等待进度条完成
选择数据目录,默认回车即可
输入此实例端口:54322 回车
数据库管理员用户名 默认回车即可 默认数据库管理员是system
输入2次密码
数据库编码 默认回车即可
数据模型 默认回车即可 默认是oracle
大小写敏感 选择2 根据应用需要选择
数据块大小 默认回车即可
默认回车
默认回车
切换到root用户
su -
执行注册服务命令
/home/kingbase/ES/V8-54322/install/script/root.sh
官方下载链接 选择windows版本下载
https://www.kingbase.com.cn/rjcxxz/index.htm
启动安装程序
安装时选择仅客户端组件进行安装
确认安装信息,点击安装
搜索kstudio 打开管理工具
新建数据库连接
查询表数据