大家好,这里是公众号 DBA学习之路,分享一些学习国产数据库路上的知识和履历。
媒介
电科金仓最近发布了产物体验官招募运动,寻求长期互助伙伴,感兴趣的朋侪可以参加体验:号外!金仓数据库产物体验官火热招募。
本文主要记载人大金仓 KES V9 的安装步调以及履历总结,让大家更容易安装 KingbaseES,安装过程很丝滑。
先容
金仓数据库管理系统[简称: KingbaseES ]是中电科金仓公司自主研发的、具有自主知识产权的商用关系型数据库管理系统(DBMS)。该产物面向变乱处理类应用,兼顾各类数据分析类应用,可用做信息管理系统、业务及生产系统、决策支持系统、全文检索、地理信息系统等的承载数据库。
KingbaseES(KES) 支持多种操纵系统和硬件平台:支持 Linux、Windows、国产 Kylin 等数十个操纵系统产物版本,支持通用x86_64 及国产龙芯、飞腾、申威等 CPU 硬件体系架构。
针对不同类型的客户需求,KingbaseES 提供尺度版、企业版、专业版、开辟版等多种版本。这些版本构建于同一数据库引擎上,不同平台版本完全兼容。
KingbaseES 软件能够提供一主一备以及一主多备的高可用集群架构,实现数据及实例级 (异地) 故障容灾,也能够提供多节点并行服务,内存融合及存储共享,实现高并发性能利用最大化,联合读写分离或备份使用同步实现数据掩护最大化。
情况准备
本文演示情况为:
主机名版本CPU内存硬盘kes银河麒麟V10x868G100G KingbaseES 对内存和硬盘的要求不高,资源不足的同砚可以参考以下设置:
版本要求尺度版/企业版/专业版/开辟版CPU:X86、龙芯、飞腾、鲲鹏
内存:512MB 以上
硬盘:11GB 以上空闲空间 系统安装建议不要使用最小化,可能确实必要下令(ifconfig,unzip 等),对新手不是很友好。
安装包下载
金仓官网提供安装软件介质,直接访问:下载中央
选择对应版本以及系统类型下载即可,下载完成后建议进行版本校验认证:
- $ md5sum KingbaseES_V009R001C001B0030_Lin64_install.iso
- 3adf56122ea7d407bc43138ab8b11f84 KingbaseES_V009R001C001B0030_Lin64_install.iso
- ## 官方 MD5 校验码
- 3ADF56122EA7D407BC43138AB8B11F84
复制代码 如不是从官方渠道下载,则必须要与官方提供的校验码需保持一致,校验无误后,则可以放心使用。
安装前设置
检查操纵系统版本
检查操纵系统版本信息:
- [root@kes ~]# cat /etc/os-release
- NAME="Kylin Linux Advanced Server"
- VERSION="V10 (Halberd)"
- ID="kylin"
- VERSION_ID="V10"
- PRETTY_NAME="Kylin Linux Advanced Server V10 (Halberd)"
- ANSI_COLOR="0;31"
复制代码 关闭防火墙
数据库安装均建议关闭防火墙:
- [root@kes ~]# systemctl stop firewalld
- [root@kes ~]# systemctl disable firewalld
- Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
- Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
复制代码 创建用户
建议在所有服务器上创建 KES 产物的安装用户 kingbase,而非使用 root 身份执行安装部署:
- [root@kes ~]# useradd -d /home/kingbase -m kingbase
- [root@kes ~]# echo "kingbase:kingbase" | chpasswd
- [root@kes ~]# id kingbase
- 用户id=1001(kingbase) 组id=1001(kingbase) 组=1001(kingbase)
复制代码 假如有暗码复杂性要求,不想设置暗码太复杂的话,可以取消暗码复杂度:
- [root@kes ~]# sed -i 's/^password\+[[:space:]]\+requisite[[:space:]]\+pam_pwquality.so/#&/g' /etc/pam.d/system-auth
- [root@kes ~]# sed -i 's/use_authtok$//' /etc/pam.d/system-auth
复制代码 创建目次
为了利于数据库的一样平常运维、持续使用、存储扩容等,我们在安装前必须做好选项、存储目次规划:
选项设置目次安装软件存储目次: /install
备份目次: /backup
归档目次: /archive
数据存储目次: /data
KES 安装目次: /KingbaseES/V9端口54321SYSTEM 暗码kingbase数据库编码格式UTF8 创建安装所需目次而且授权:
- [root@kes ~]# mkdir -p /KingbaseES/V9 /data /backup /archive /install
- [root@kes ~]# chown -R kingbase:kingbase {/KingbaseES,/data,/backup,/archive,/install}
- [root@kes ~]# chmod -R 775 {/KingbaseES,/backup,/archive,/install}
- ## 注意:DATA 目录这里必须要授权 700,否则后续数据库无法启动
- [root@kes ~]# chmod -R 700 /data
复制代码 系统参数设置
为了避免在 KingbaseES 安装和使用过程中出现题目,官方建议调整系统内核参数:
参数参考值所在文件semmsl250/proc/sys/kernel/semsemmns32000/proc/sys/kernel/semsemopm100/proc/sys/kernel/semsemmni128/proc/sys/kernel/semshmall2097152/proc/sys/kernel/shmallshmmax最小: 536870912
最大: 物理内存值减去1字节
建议: 大于物理内存的一半/proc/sys/kernel/shmmaxshmmin4096/proc/sys/kernel/shmmnifile-max6815744/proc/sys/fs/file-maxaio-max-nr1048576
注意: 本参数限制并发发出的哀求数量。应该设置以避免IO子系统的失败。/proc/sys/fs/aio-max-nrip_local_port_range最小:9000
最大:65500/proc/sys/net/ipv4/ip_local_port_rangermem_default262144/proc/sys/net/core/rmem_defaultrmem_max4194304/proc/sys/net/core/rmem_maxwmem_default262144/proc/sys/net/core/wmem_defaultwmem_max1048576/proc/sys/net/core/wmem_max 注意:这里关于 shmmax 和 shmall 参数值的计算,我们可以参考 oracle 来设置:
- # 物理内存(KB)
- os_memory_total=$(awk '/MemTotal/{print $2}' /proc/meminfo)
- # 获取系统页面大小,用于计算内存总量
- pagesize=$(getconf PAGE_SIZE)
- ((shmall = (os_memory_total - 1) * 1024 / pagesize))
- ((shmmax = os_memory_total * 1024 - 10))
- # 如果 shmall 小于 2097152,则将其设为 2097152
- ((shmall < 2097152)) && shmall=2097152
- # 如果 shmmax 小于 4294967295,则将其设为 4294967295
- ((shmmax < 4294967295)) && shmmax=4294967295
复制代码 复制以上下令,直接执行即可计算得出这两个参数值:
- [root@kes ~]# echo $shmall
- 2097152
- [root@kes ~]# echo $shmmax
- 7008067574
复制代码 根据官方建议值,设置系统参数文件:
- [root@kes ~]# cat<<-EOF>>/etc/sysctl.conf
- fs.aio-max-nr= 1048576
- fs.file-max= 6815744
- kernel.shmall= 2097152
- kernel.shmmax= 7008067574
- 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
- EOF
- ## 生效配置
- [root@kes ~]# sysctl -p
复制代码 资源设置
限制用户可使用的资源数量对系统的稳定性非常重要,可以通过调整资源限制数量改进系统性能:
- [root@kes ~]# cat<<-EOF>>/etc/security/limits.conf
- kingbase soft nofile 65536
- kingbase hard nofile 65536
- kingbase soft nproc 65536
- kingbase hard nproc 65536
- kingbase soft core unlimited
- kingbase hard core unlimited
- EOF
复制代码 设置 RemoveIPC
systemd-logind 服务中引入的一个特性 RemoveIPC,会造成程序信号丢失等题目,只有Redhat7 及以上和一些特殊的国产Linux的版本必要修改,改之前可先查看此项是否为默认yes),必要设置 RemoveIPC=no:
- [root@kes ~]# sed -i 's/#RemoveIPC=no/RemoveIPC=no/' /etc/systemd/logind.conf
- [root@kes ~]# grep RemoveIPC /etc/systemd/logind.conf
- RemoveIPC=no
- # 重新加载 systemd 守护进程并重启 systemd-logind 服务生效
- [root@kes ~]# systemctl daemon-reload
- [root@kes ~]# systemctl restart systemd-logind.service
复制代码 检查 /tmp 目次
KES 安装对于 /tmp 目次有一定要求,至少必要 10G 空间,否则安装时会报警并使用 kingbase 用户家目次作为替代:
- Now launch installer...
- 正在准备进行安装
- 警告:/tmp 磁盘空间不足!正在尝试将 /home/kingbase 用于安装基础和 tmp dir。
复制代码 手动挂载 /tmp 目次空间:
- [root@kes ~]# cat<<-EOF>>/etc/fstab
- tmpfs /tmp tmpfs size=10G 0 0
- EOF
- [root@kes ~]# mount -o remount /tmp
- [root@kes ~]# df -h | grep /tmp
- tmpfs 10G 20K 10G 1% /tmp
复制代码 设置情况变量
这一步官方文档没有提到,是以我安装其他数据库的履历添加:
- [root@kes ~]# cat<<-\EOF>>/home/kingbase/.bash_profile
- export KES_HOME=/KingbaseES/V9/Server
- export LD_LIBRARY_PATH=$KES_HOME/lib:/lib:/usr/lib
- export PATH=$KES_HOME/bin:/usr/sbin:$PATH
- export PS1="[`whoami`@`hostname`:"'$PWD]$ '
- EOF
复制代码 情况设置方面到这就竣事了,没有看到关于 selinux,swap 以及透明大页这些设置的要求,所有也就没有多此一举了。
KES 安装
KES 安装支持以下 3 种方式:
本文基于三种模式都会演示一遍。
安装 ISO 挂载
KES 的安装包和达梦的类似,都是 iso 格式的,iso 格式的安装包必要先挂载才能使用。
挂载 iso 文件必要使用 root 用户,安装包上传在 /install 目次,挂载到 /mnt 目次下:
- [root@kes ~]# cd /install/
- [root@kes install]# ls
- KingbaseES_V009R001C001B0030_Lin64_install.iso
- [root@kes install]# mount -o loop KingbaseES_V009R001C001B0030_Lin64_install.iso /mnt/
- mount: /mnt: WARNING: source write-protected, mounted read-only.
- ## 挂载目录下可以看到 setup 目录和 setup.sh 脚本
- [root@kes install]# ll /mnt/
- dr-xr-xr-x 2 root root 2048 5月 21 21:44 setup
- -r-xr-xr-x 1 root root 3932 5月 21 21:44 setup.sh
- ## 将挂载出来的安装文件拷贝到 /install 目录下
- [root@kes install]# cp -r /mnt/* /install
- [root@kes install]# ll
- -rw-r--r-- 1 root root 2502940672 9月 24 21:23 KingbaseES_V009R001C001B0030_Lin64_install.iso
- dr-xr-xr-x 2 root root 91 9月 24 21:24 setup
- -r-xr-xr-x 1 root root 3932 9月 24 21:25 setup.sh
- ## 复制完成后取消安装 iso 的挂载
- [root@kes install]# umount /mnt
复制代码 此时 /mnt 已经和 iso 文件解除挂载关系,在 /mnt 目次下不会再看到安装相关文件。
设置语言情况
图形化安装支持中文和英文的安装界面,根据操纵系统的语言设置会显示对应语言的安装界面,可以执行如下下令查看操纵系统的语言设置:
- [root@kes install]# echo $LANG
- zh_CN.UTF-8
- ## 显示值包含“zh_CN”,则为中文语言,否则为英文;我安装系统时选的中文,所以是中文环境
- ## 如何不是也可以手动切换为中文
- export LANG=zh_CN.UTF-8
复制代码 设置好语言情况后,切换为安装用户 kingbase,进入安装程序 setup.sh 所在目次:
- ## 由于之前 root 复制的安装文件权限为 root,所以需要重新授权 kingbase 用户
- [root@kes install]# chown -R kingbase:kingbase /install
- [root@kes install]# su - kingbase
- c[kingbase@kes ~]$ cd /install/
- [kingbase@kes install]$ ls
- KingbaseES_V009R001C001B0030_Lin64_install.iso setup setup.sh
复制代码 查看一下 setup.sh 的帮助下令:
- [kingbase@kes install]$ ./setup.sh -i silent -h
- Usage: install [-f <path_to_installer_properties_file> | -options]
- (to execute the installer)
- Where options include:
- -? Show this help text
- -h Show this help text
- -help Show this help text
- --help Show this help text
- -i [gui | console | silent]
- Specify the user interface mode for the installer
- -D<name>=<value>
- Specify installer properties
- -r <path_to_generate_response_file>
- Generates response file.
- JVM heap size options are only applicable to Installers
- -jvmxms <size>
- Specify JVM initial heap size.
- -jvmxmx <size>
- Specify JVM maximum heap size.
- The options field may also include the following in case of uninstaller
- if it is enabled for Maintenance Mode
- -add <feature_name_1> [<feature_name_2 ...]
- Add Specified Features
- -remove <feature_name_1> [<feature_name_2 ...]
- Remove Specified Features
- -repair
- Repair Installation
- -uninstall
- Uninstall
复制代码 接下来就可以开始进行 KingbaseES 的安装了。
图形化安装
注意:最小化安装的操纵系统可以跳过图形化安装这段,直接去下令行和静默安装了。
启动安装程序
启动图形化安装程序,指定参数 -i gui 为图形化安装:
- ## 这里不指定 -i 参数,直接执行 sh setup.sh 也是可以的
- [kingbase@kes install]$ sh setup.sh -i gui
复制代码 这里碰到一个题目,假如当前情况不支持图形化调用或者没设置好图形化界面(包括最小化安装),则会报错如下:
- 正在启动安装程序...
- Graphical installers are not supported by the VM. The console mode should be used instead...
- ===============================================================================
- KingbaseES V9 (使用 InstallAnywhere 创建)
- -------------------------------------------------------------------------------
- 正在准备控制台模式安装...
复制代码 提示使用下令行模式进行安装,这里可以输入 quit 取消,重新设置好图形化界面后再重新执行即可。
安装 KES 软件
这里建议使用 VNC 连接主机,可以直接调用出来图形化界面:
第一步是安装程序简介,直接下一步:
勾选许可协议,没什么好说的:
根据安装后数据库服务功能的不同,KingbaseES 可分为完全安装、客户端安装和定制安装三种安装集:
- 完全安装:包括数据库服务器、高可用组件、接口、数据库开辟管理工具、数据库迁移工具、数据库部署工具。
- 客户端安装:包括接口、数据库开辟管理工具、数据库迁移工具、数据库部署工具。
- 定制安装:在数据库服务器、高可用组件、接口、数据库开辟管理工具、数据库迁移工具、数据库部署工具所有组件中自由选择。
大家根据自己的需求进行选择,这里我选择完全安装:
注意:数据库 license 是 KingbaseES 提供的授权文件,其中会对数据库有用日期、发布类型、最大并发连接数、mac 地点、ip 等信息进行设置。假如在 license 文件中信息与安装情况中相关信息不匹配,数据库将无法启动。
假如在安装时未选择 license 文件,则会使用软件自带试用版授权:
选择安装目次,选择我们规划好的目次:/KingbaseES/V9
安装摘要,告知我们必要安装的功能组件以及磁盘空间信息:
确认没题目后,选择安装按钮进行安装:
等待一段时间后,很快软件就会完成安装:
到这一步软件安装竣事,则代表 KES 软件已经安装完成了,接下来就是初始化数据库步调。
初始化数据库
首先选择数据库数据目次,选择规划好的存储数据目次:/data
下一步就是初始化数据库参数:
- 默认端口为:54321(可自定义);
- 默认账户为:system(可自定义);
- 暗码(自定义);
- 默认字符集编码为:UTF8(可选 default、GBK、GB2312、GB18030);
- 地区,可选值将随字符集编码选项发生变动;
- 当字符集编码为 default 时,默认地区值为:default(可选 C);
- 当字符集编码为 UTF8 时,默认地区值为:zh_CN.UTF-8(可选 en_US.UTF-8、C)
- 当字符集编码为 GBK 时,默认地区值为:zh_CN.GBK(可选 C);
- 当字符集编码为 GB2312 时,默认地区值为:zh_CN.GB2312(可选 C);
- 当字符集编码为 GB18030 时,默认地区值为:zh_CN.GB18030(可选 C);
- 默认数据库兼容模式为:ORACLE(可选 PG、MySQL);
- 默认巨细写敏感为:是(可选否);
- 默认数据块巨细为:8k(可选16k、32k);
- 默认身份认证方法为 scram-sha-256(可选 scram-sm3,sm4,sm3);
- 自定义参数(自定义),可自由输入任何值,作为初始化数据库的参数;
注意:输入的参数值不能包含 -W,–pwprompt,% 和 $。
根据我们前面规划好的参数进行填写即可(根本都是默认值):
点击下一步,开始初始化数据库:
等待几分钟即可完成数据库初始化,提示 KES 安装成功,点击完成即可退出安装程序:
- [kingbase@kes install]$ ./setup.sh -i gui
- Now launch installer...
- 正在准备进行安装
- 正在从安装程序档案中提取 JRE...
- 正在解包 JRE...
- 正在从安装程序档案中提取安装资源...
- 配置该系统环境的安装程序...
- Verifying JVM........
- 正在启动安装程序...
- Complete.
复制代码 别忘记还有最后一步,root 用户下执行 root.sh 脚本:
- ## 这一步是为了注册数据库服务为系统服务
- [root@kes ~]# /KingbaseES/V9/install/script/root.sh
- Starting KingbaseES V9:
- 等待服务器进程启动 .... 完成
- 服务器进程已经启动
- KingbaseES V9 started successfully
复制代码 注册服务成功后,假如想启动或克制数据库服务,进入 /KingbaseES/V9/Server/bin 目次,使用 kingbase 用户执行如下下令:
- # 停止服务
- [kingbase@kes:/home/kingbase]$ sys_ctl stop -m fast -w -D /data
- 等待服务器进程关闭 .... 完成
- 服务器进程已经关闭
- # 启动服务
- [kingbase@kes:/home/kingbase]$ sys_ctl -w start -D /data -l "/data/sys_log/startup.log"
- 等待服务器进程启动 .... 完成
- 服务器进程已经启动
复制代码 到此,图形化安装部署演示竣事,过程十分流畅,堪称丝滑。
下令行安装
下令行安装与图形化安装其实差不多,大概演示一下安装过程。
启动安装程序
启动安装程序:
- [kingbase@kes:/install]$ sh setup.sh -i console
- Now launch installer...
- 正在准备进行安装
- 正在从安装程序档案中提取 JRE...
- 正在解包 JRE...
- 正在从安装程序档案中提取安装资源...
- 配置该系统环境的安装程序...
- Verifying JVM........
- 正在启动安装程序...
- ===============================================================================
- KingbaseES V9 (使用 InstallAnywhere 创建)
- -------------------------------------------------------------------------------
- 正在准备控制台模式安装...
- ===============================================================================
- 请稍候
- ---
- ===============================================================================
- 简介
- --
- 本安装程序将指导您完成 KingbaseES V9 的安装。
- 建议您在继续本次安装前,退出所有程序。
- 如果要回到前一屏幕进行更改,可输入“back”。
- 如果要取消本次安装,可随时输入“quit”。
- KingbaseES Version: V9
- Kingbase Type:BMJ-NO
- Installer Version: V009R001C001B0030
- Install DATE:202409251209
- Kingbase Inc.
- http://www.kingbase.com.cn
- 请按 <ENTER> 键继续:
复制代码 假如不想安装也可以输入 quit 取消。
安装 KES 软件
回车继续安装,下面这一部门全都是许可协议,一起回车即可:
- ===============================================================================
- 请稍候
- ---
- ===============================================================================
- 许可协议
- ----
- ## 这一部分全都是许可协议内容,这里就不展示了,比较占篇幅,中间一直回车就完事了
- 是否接受此许可协议条款? (Y/N): Y
复制代码 输入 Y 继承许可,选择完全安装:
- ===============================================================================
- 选择安装集
- -----
- 请选择将由本安装程序安装的“安装集”。
- ->1- 完全安装
- 2- 客户端安装
- 3- 定制安装
- 输入“安装集”的号码,或按 <ENTER> 键以接受缺省值
- :
- ===============================================================================
- 请稍候
- ---
复制代码 选择授权文件,没有就直接回车:
- ===============================================================================
- 选择授权文件
- ------
- 不选择授权文件,则使用软件自带试用版授权
- 提示:请在有效期内及时更换正式授权文件。
- 文件路径 :
复制代码 选择安装目次,输入 /KingbaseES/V9/,确认,回车继续:
- ===============================================================================
- 选择安装目录
- ------
- 请选择一个安装目录。
- 您想在哪一位置安装?
- 缺省安装文件夹: /opt/Kingbase/ES/V9
- 输入一个绝对路径,或按 <ENTER> 键以接受缺省路径
- : /KingbaseES/V9/
- 安装文件夹为: /KingbaseES/V9
- 是否正确? (Y/N): Y
复制代码 预安装摘要,没题目直接回车下一步:
- ===============================================================================
- 预安装摘要
- -----
- 在继续执行前请检查以下信息:
- 产品名:
- KingbaseES V9
- 安装文件夹:
- /KingbaseES/V9
- 产品功能部件:
- 数据库服务器,
- 接口,
- 数据库部署工具,
- 高可用组件,
- 数据库开发管理工具,
- 数据迁移工具
- 安装空间磁盘信息
- 所需磁盘空间: 5378 MB 空闲磁盘空间: 77447 MB
- 请按 <ENTER> 键继续:
复制代码 开始安装:
- ===============================================================================
- 准备就绪,可以安装
- ---------
- 本安装程序已准备完毕,可在下列位置安装 KingbaseES V9:
- /KingbaseES/V9
- 按 <ENTER> 键进行安装:
- ===============================================================================
- 正在安装...
- -------
- [==================|==================|==================|==================]
- [------------------|------------------|------------------|------------------]
- ===============================================================================
- 请稍候
- ---
复制代码 等待进度条完成代表软件已经安装完成。
初始化数据库
接着上面流程继续,选择数据存储的目次:
- ===============================================================================
- 选择存储数据的文件夹
- ----------
- 请选择一个文件夹,该文件夹必须为空。
- Data folder (默认﹕ /KingbaseES/V9/data): /data
复制代码 设置数据库初始参数:
开始初始化数据库:
- ===============================================================================
- 提示
- --
- 数据库即将被安装,需要花费一些时间,请耐心等待。
- 请按 <ENTER> 键继续:
复制代码 等待安装完成后,退出安装程序:
- ===============================================================================
- 安装完成
- ----
- 恭喜!KingbaseES V9 已成功地安装到:
- /KingbaseES/V9
- 如果您需要将 KingbaseES V9 注册为系统服务,请运行
- /KingbaseES/V9/install/script/root.sh
- 按 <ENTER> 键以退出安装程序:
- Complete.
复制代码 执行 root.sh 脚本:
- [root@kes ~]# /KingbaseES/V9/install/script/root.sh
- Starting KingbaseES V9:
- 等待服务器进程启动 .... 完成
- 服务器进程已经启动
- KingbaseES V9 started successfully
复制代码 下令行模式到这就安装竣事了,说真话安装过程十分麻烦(吐槽:光是许可协议输出就一堆),不建议使用这种方式。
静默安装(非常建议)
静默安装我感觉是最方便的,只必要设置参数文件之后,一条下令即可完成安装。
静默安装模式下,安装程序通过读取设置文件来安装数据库。安装包 iso 文件挂载后,setup 目次下已存在 silent.cfg 模板文件,必要根据实际安装呆板的情况修改参数值。
设置文件的参数可参考:
序号参数名默认值阐明1CHOSEN_INSTALL_SETFull选择安装集,可选值包括:
1)Full:完全安装
2)Client:客户端安装
3)Custom:定制安装2CHOSEN_FEATURE_LISTSERVER,MANAGER, KDTS,DEPLOY, INTERFACE, KINGBASEHA选择安装特性,CHOSEN_INSTALL_SET=Custom 起作用。可选值:
1)SERVER:服务器
2)KSTUDIO:数据库开辟管理工具
3)KDTS:数据库迁移工具
4)DEPLOY:数据库部署工具
5)INTERFACE:接口
6)KINGBASEHA:高可用组件 多值用逗号分隔。巨细写不敏感。假如是错误的组件名称则忽略。3KB_LICENSE_PATH授权文件的绝对路径,假如指定该参数,就会选择用户指定的 license 文件;假如未指定,则会使用软件自带试用版授权, 请在有用期内及时更换正式授权文件。4USER_INSTALL_DIR/opt/Kingbase/ES/V8安装目次绝对路径,必须指定,否则报错退出安装过程。 路径分隔符使用’/'。5USER_SELECTED_DATA_FOLDER数据目次绝对路径,必须为空目次,否则报错退出安装过程。 假如不指定数据目次,默以为安装路径下 data 目次。6DB_PORT54321数据库服务端口,必填,端口取值范围为 1-65535。 否则报错退出安装过程。7DB_USERsystem数据库默认用户名,必填,长度不凌驾 63 字符。 否则报错退出安装过程。8DB_PASS数据库初始暗码,必填,否则报错退出安装过程。无长度限制。9DB_PASS2确认数据库初始暗码,必要和 DB_PASS 一致,否则报错退出安装过程。10ENCODING_PARAMUTF8数据库字符集,必填,巨细写敏感,否则报错退出安装过程。
可选值:
1)default
2)UTF8
3)GBK
4)GB2312
5)GB1803011DATABASE_MODE_PARAMORACLE数据库兼容模式,必填,巨细写敏感,否则报错退出安装过程。
可选值:
1)ORACLE
2)PG
3)MySQL12LOCALE_PARAM当字符集编码为 default 时,默认地区值为:default(可选 C)
当字符集编码为 UTF8 时,默认地区值为:zh_CN.UTF-8 (可选 en_US.UTF-8、C)
当字符集编码为GBK 时,默认地区值为:zh_CN.GBK(可选 C)
当字符集编码为GB2312时,默认地区值为:zh_CN.GB2312(可选 C)
当字符集编码为GB18030时,默认地区值为:zh_CN.GB18030(可选 C)13CASE_SENSITIVE_PARAMYES数据库是否区分巨细写,必填,巨细写敏感,否则报错退出安装过程。可选值1)YES 2)NO14BLOCK_SIZE_PARAM8k存储块巨细,必填,巨细写敏感,否则报错退出安装过程。可选值 1)8k 2)16k 3)32k15AUTHENTICATION_METHOD_PARAMscram-sha-256默认身份认证方法为scram-sha-256(可选 scram-sm3,sm4,sm3)16INITCUSTOM自定义参数,作为初始化数据库的参数,选填 注意:输入的参数值不能包含-W,–pwprompt,%和$。 假如输入的参数值包含-c,则启动数据库将使用默认端口值54321。 查看默认的设置参数文件内容:
- [kingbase@kes:/install/setup]$ grep -v "^\s*\(#\|$\)" /install/setup/silent.cfg
- KB_LICENSE_PATH=
- CHOSEN_INSTALL_SET=Full
- CHOSEN_FEATURE_LIST=SERVER,KSTUDIO,KDTS,INTERFACE,DEPLOY,KINGBASEHA
- USER_INSTALL_DIR=/opt/Kingbase/ES/V9
- USER_SELECTED_DATA_FOLDER=
- DB_PORT=54321
- DB_USER=system
- DB_PASS=
- DB_PASS2=
- ENCODING_PARAM=UTF8
- LOCALE_PARAM=zh_CN.UTF-8
- INITCUSTOM=
- DATABASE_MODE_PARAM=ORACLE
- CASE_SENSITIVE_PARAM=YES
- BLOCK_SIZE_PARAM=8k
- AUTHENTICATION_METHOD_PARAM=scram-sha-256
复制代码 根据需求修改对应的参数值:
- [kingbase@kes:/install/setup]$ vi /install/setup/silent.cfg
- ## 修改以下内容
- USER_INSTALL_DIR=/KingbaseES/V9
- USER_SELECTED_DATA_FOLDER=/data
- DB_PASS=kingbase
- DB_PASS2=kingbase
复制代码 修改后的设置文件内容:
- [kingbase@kes:/install/setup]$ grep -v "^\s*\(#\|$\)" /install/setup/silent.cfg
- KB_LICENSE_PATH=
- CHOSEN_INSTALL_SET=Full
- CHOSEN_FEATURE_LIST=SERVER,KSTUDIO,KDTS,INTERFACE,DEPLOY,KINGBASEHA
- USER_INSTALL_DIR=/KingbaseES/V9
- USER_SELECTED_DATA_FOLDER=/data
- DB_PORT=54321
- DB_USER=system
- DB_PASS=kingbase
- DB_PASS2=kingbase
- ENCODING_PARAM=UTF8
- LOCALE_PARAM=zh_CN.UTF-8
- INITCUSTOM=
- DATABASE_MODE_PARAM=ORACLE
- CASE_SENSITIVE_PARAM=YES
- BLOCK_SIZE_PARAM=8k
- AUTHENTICATION_METHOD_PARAM=scram-sha-256
复制代码 修改完设置文件后,进入安装程序所在目次,以 kingbase 用户执行如下下令:
- ## -f 参数指定修改后配置文件的相对或绝对路径,相对路径是指相对 setup/silent.cfg 的相对路径。
- [kingbase@kes:/install]$ ./setup.sh -i silent -f /install/setup/silent.cfg
- Now launch installer...
- Verifying JVM...Complete.
复制代码 静默安装时不输出怎样屏显,但是可以在安装完成后,查看安装日记 /KingbaseES/V9/install/Logs/KingbaseES_V9_安装_*.log:
- [kingbase@kes:/home/kingbase]$ tail -2000f /KingbaseES/V9/install/Logs/KingbaseES_V9_*.log
复制代码 等待安装完成后,假如没有报错,则代表安装成功,假如有类似如下错误:
则代表 silent.cfg 文件中参数取值有错误,未完成安装过程,必要修改后重新执行。
连接测试
连接 KES 数据库,查看版本信息:
- ## 查看 KES 版本
- [kingbase@kes:/home/kingbase]$ kingbase -V
- KINGBASE (KingbaseES) V009R001C001B0030
- -- 使用 system 用户连接到 kingbase 数据库
- [kingbase@kes:/home/kingbase]$ ksql -p 54321 -U system kingbase
- 用户 system 的口令:
- 输入 "help" 来获取帮助信息.
- -- 查看数据库版本
- kingbase=# select version();
- version
- ----------------------------------------------------------------------------------------------------------------------
- KingbaseES V009R001C001B0030 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28), 64-bit
- (1 行记录)
- -- 创建数据库 lucifer
- kingbase=# create database lucifer;
- CREATE DATABASE
- -- 查看数据库信息
- kingbase=# \l
- 数据库列表
- 名称 | 拥有者 | 字元编码 | 校对规则 | Ctype | 存取权限
- -----------+--------+----------+-------------+-------------+-------------------
- kingbase | system | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 |
- lucifer | system | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 |
- security | system | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 |
- template0 | system | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 | =c/system +
- | | | | | system=CTc/system
- template1 | system | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 | =c/system +
- | | | | | system=CTc/system
- test | system | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 |
- (6 行记录)
- -- 切换数据库
- kingbase-# \c lucifer
- 您现在以用户名"system"连接到数据库"lucifer"。
- -- 查看连接信息
- lucifer=# \conninfo
- 以用户 "system" 的身份,通过套接字"/tmp"在端口"54321"连接到数据库 "lucifer"
- -- 创建用户并授权
- lucifer=# create user lucifer with password 'lucifer';
- CREATE ROLE
- lucifer=# alter user lucifer createdb;
- ALTER ROLE
- -- 查看用户信息
- lucifer=# \dg lucifer
- 角色列表
- 角色名称 | 属性 | 成员属于
- ----------+---------+----------
- lucifer | 建立 DB | {}
- -- 使用新用户 lucifer 连接数据库 lucifer
- lucifer=# \c lucifer lucifer
- 用户 lucifer 的口令:
- 您现在以用户名"lucifer"连接到数据库"lucifer"。
- -- 创建表 t1
- lucifer=# create table t1(id number, name varchar2(20));
- CREATE TABLE
- -- 创建索引 idx_t1_id
- lucifer=# create index idx_t1_id on t1(id);
- CREATE INDEX
- -- 插入数据
- lucifer=# insert into t1 values(1,'lucifer');
- INSERT 0 1
- -- 查看表结构
- lucifer=# \d t1
- 数据表 "public.t1"
- 栏位 | 类型 | 校对规则 | 可空的 | 预设
- ------+----------------------------+----------+--------+------
- id | numeric | | |
- name | character varying(20 char) | | |
- 索引:
- "idx_t1_id" btree (id)
- -- 查看表数据
- lucifer=# select * from t1;
- id | name
- ----+---------
- 1 | lucifer
- (1 行记录)
复制代码 KES 卸载
安装学会了,自然也要知道怎样卸载 KES,卸载一般都很简单。
删除数据库服务
假如在安装后执行 root.sh 脚本在系统中注册了数据库服务,必要在卸载前执行 rootuninstall.sh 脚本删除已注册的数据库服务:
- ## 执行没有任何输出
- [root@kes ~]# /KingbaseES/V9/install/script/rootuninstall.sh
复制代码 KES 卸载也分 3 种方式:
看来 KES 在软件这块支持的功能照旧很丰富的,这里为了省事,就直接使用静默方式进行卸载(kingbase 用户执行):
- ## 进入安装目录下的 Uninstall 目录下执行
- [kingbase@kes:/home/kingbase]$ cd /KingbaseES/V9/Uninstall
- ## 如果是通过静默安装方式安装的,可以不加 -i 参数,否则必须附加 -i 参数
- [kingbase@kes:/KingbaseES/V9/Uninstall]$ sh Uninstaller -i silent
复制代码 卸载过程没有提示信息,等待卸载过程完成即可。
|