金仓数据库 KingbaseES V9 单机安装指南

打印 上一主题 下一主题

主题 990|帖子 990|积分 2970

大家好,这里是公众号 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 等),对新手不是很友好。
安装包下载

金仓官网提供安装软件介质,直接访问:下载中央

选择对应版本以及系统类型下载即可,下载完成后建议进行版本校验认证:
  1. $ md5sum KingbaseES_V009R001C001B0030_Lin64_install.iso
  2. 3adf56122ea7d407bc43138ab8b11f84  KingbaseES_V009R001C001B0030_Lin64_install.iso
  3. ## 官方 MD5 校验码
  4. 3ADF56122EA7D407BC43138AB8B11F84
复制代码
如不是从官方渠道下载,则必须要与官方提供的校验码需保持一致,校验无误后,则可以放心使用。
安装前设置

检查操纵系统版本

检查操纵系统版本信息:
  1. [root@kes ~]# cat /etc/os-release
  2. NAME="Kylin Linux Advanced Server"
  3. VERSION="V10 (Halberd)"
  4. ID="kylin"
  5. VERSION_ID="V10"
  6. PRETTY_NAME="Kylin Linux Advanced Server V10 (Halberd)"
  7. ANSI_COLOR="0;31"
复制代码
关闭防火墙

数据库安装均建议关闭防火墙:
  1. [root@kes ~]# systemctl stop firewalld
  2. [root@kes ~]# systemctl disable firewalld
  3. Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
  4. Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
复制代码
创建用户

建议在所有服务器上创建 KES 产物的安装用户 kingbase,而非使用 root 身份执行安装部署:
  1. [root@kes ~]# useradd -d /home/kingbase -m kingbase
  2. [root@kes ~]# echo "kingbase:kingbase" | chpasswd
  3. [root@kes ~]# id kingbase
  4. 用户id=1001(kingbase) 组id=1001(kingbase) 组=1001(kingbase)
复制代码
假如有暗码复杂性要求,不想设置暗码太复杂的话,可以取消暗码复杂度:
  1. [root@kes ~]# sed -i 's/^password\+[[:space:]]\+requisite[[:space:]]\+pam_pwquality.so/#&/g' /etc/pam.d/system-auth
  2. [root@kes ~]# sed -i 's/use_authtok$//' /etc/pam.d/system-auth
复制代码
创建目次

为了利于数据库的一样平常运维、持续使用、存储扩容等,我们在安装前必须做好选项、存储目次规划:
选项设置目次安装软件存储目次: /install
备份目次: /backup
归档目次: /archive
数据存储目次: /data
KES 安装目次: /KingbaseES/V9端口54321SYSTEM 暗码kingbase数据库编码格式UTF8 创建安装所需目次而且授权:
  1. [root@kes ~]# mkdir -p /KingbaseES/V9 /data /backup /archive /install
  2. [root@kes ~]# chown -R kingbase:kingbase {/KingbaseES,/data,/backup,/archive,/install}
  3. [root@kes ~]# chmod -R 775 {/KingbaseES,/backup,/archive,/install}
  4. ## 注意:DATA 目录这里必须要授权 700,否则后续数据库无法启动
  5. [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 来设置:
  1. # 物理内存(KB)
  2. os_memory_total=$(awk '/MemTotal/{print $2}' /proc/meminfo)
  3. # 获取系统页面大小,用于计算内存总量
  4. pagesize=$(getconf PAGE_SIZE)
  5. ((shmall = (os_memory_total - 1) * 1024 / pagesize))
  6. ((shmmax = os_memory_total * 1024 - 10))
  7. # 如果 shmall 小于 2097152,则将其设为 2097152
  8. ((shmall < 2097152)) && shmall=2097152
  9. # 如果 shmmax 小于 4294967295,则将其设为 4294967295
  10. ((shmmax < 4294967295)) && shmmax=4294967295
复制代码
复制以上下令,直接执行即可计算得出这两个参数值:
  1. [root@kes ~]# echo $shmall
  2. 2097152
  3. [root@kes ~]# echo $shmmax
  4. 7008067574
复制代码
根据官方建议值,设置系统参数文件:
  1. [root@kes ~]# cat<<-EOF>>/etc/sysctl.conf
  2. fs.aio-max-nr= 1048576
  3. fs.file-max= 6815744
  4. kernel.shmall= 2097152
  5. kernel.shmmax= 7008067574
  6. kernel.shmmni= 4096
  7. kernel.sem= 250 32000 100 128
  8. net.ipv4.ip_local_port_range= 9000 65500
  9. net.core.rmem_default= 262144
  10. net.core.rmem_max= 4194304
  11. net.core.wmem_default= 262144
  12. net.core.wmem_max= 1048576
  13. EOF
  14. ## 生效配置
  15. [root@kes ~]# sysctl -p
复制代码
资源设置

限制用户可使用的资源数量对系统的稳定性非常重要,可以通过调整资源限制数量改进系统性能:
  1. [root@kes ~]# cat<<-EOF>>/etc/security/limits.conf
  2. kingbase soft nofile 65536
  3. kingbase hard nofile 65536
  4. kingbase soft nproc 65536
  5. kingbase hard nproc 65536
  6. kingbase soft core unlimited
  7. kingbase hard core unlimited
  8. EOF
复制代码
设置 RemoveIPC

systemd-logind 服务中引入的一个特性 RemoveIPC,会造成程序信号丢失等题目,只有Redhat7 及以上和一些特殊的国产Linux的版本必要修改,改之前可先查看此项是否为默认yes),必要设置 RemoveIPC=no:
  1. [root@kes ~]# sed -i 's/#RemoveIPC=no/RemoveIPC=no/' /etc/systemd/logind.conf
  2. [root@kes ~]# grep RemoveIPC /etc/systemd/logind.conf
  3. RemoveIPC=no
  4. # 重新加载 systemd 守护进程并重启 systemd-logind 服务生效
  5. [root@kes ~]# systemctl daemon-reload
  6. [root@kes ~]# systemctl restart systemd-logind.service
复制代码
检查 /tmp 目次

KES 安装对于 /tmp 目次有一定要求,至少必要 10G 空间,否则安装时会报警并使用 kingbase 用户家目次作为替代:
  1. Now launch installer...
  2. 正在准备进行安装
  3. 警告:/tmp 磁盘空间不足!正在尝试将 /home/kingbase 用于安装基础和 tmp dir。
复制代码
手动挂载 /tmp 目次空间:
  1. [root@kes ~]# cat<<-EOF>>/etc/fstab
  2. tmpfs /tmp tmpfs size=10G 0 0
  3. EOF
  4. [root@kes ~]# mount -o remount /tmp
  5. [root@kes ~]# df -h | grep /tmp
  6. tmpfs                   10G   20K   10G    1% /tmp
复制代码
设置情况变量

这一步官方文档没有提到,是以我安装其他数据库的履历添加:
  1. [root@kes ~]# cat<<-\EOF>>/home/kingbase/.bash_profile
  2. export KES_HOME=/KingbaseES/V9/Server
  3. export LD_LIBRARY_PATH=$KES_HOME/lib:/lib:/usr/lib
  4. export PATH=$KES_HOME/bin:/usr/sbin:$PATH
  5. export PS1="[`whoami`@`hostname`:"'$PWD]$ '
  6. EOF
复制代码
情况设置方面到这就竣事了,没有看到关于 selinux,swap 以及透明大页这些设置的要求,所有也就没有多此一举了。
KES 安装

KES 安装支持以下 3 种方式:


  • 图形化安装
  • 下令行安装
  • 静默安装
本文基于三种模式都会演示一遍。
安装 ISO 挂载

KES 的安装包和达梦的类似,都是 iso 格式的,iso 格式的安装包必要先挂载才能使用。
挂载 iso 文件必要使用 root 用户,安装包上传在 /install 目次,挂载到 /mnt 目次下:
  1. [root@kes ~]# cd /install/
  2. [root@kes install]# ls
  3. KingbaseES_V009R001C001B0030_Lin64_install.iso
  4. [root@kes install]# mount -o loop KingbaseES_V009R001C001B0030_Lin64_install.iso /mnt/
  5. mount: /mnt: WARNING: source write-protected, mounted read-only.
  6. ## 挂载目录下可以看到 setup 目录和 setup.sh 脚本
  7. [root@kes install]# ll /mnt/
  8. dr-xr-xr-x 2 root root 2048  5月 21 21:44 setup
  9. -r-xr-xr-x 1 root root 3932  5月 21 21:44 setup.sh
  10. ## 将挂载出来的安装文件拷贝到 /install 目录下
  11. [root@kes install]# cp -r /mnt/* /install
  12. [root@kes install]# ll
  13. -rw-r--r-- 1 root root 2502940672  9月 24 21:23 KingbaseES_V009R001C001B0030_Lin64_install.iso
  14. dr-xr-xr-x 2 root root         91  9月 24 21:24 setup
  15. -r-xr-xr-x 1 root root       3932  9月 24 21:25 setup.sh
  16. ## 复制完成后取消安装 iso 的挂载
  17. [root@kes install]# umount /mnt
复制代码
此时 /mnt 已经和 iso 文件解除挂载关系,在 /mnt 目次下不会再看到安装相关文件。
设置语言情况

图形化安装支持中文和英文的安装界面,根据操纵系统的语言设置会显示对应语言的安装界面,可以执行如下下令查看操纵系统的语言设置:
  1. [root@kes install]# echo $LANG
  2. zh_CN.UTF-8
  3. ## 显示值包含“zh_CN”,则为中文语言,否则为英文;我安装系统时选的中文,所以是中文环境
  4. ## 如何不是也可以手动切换为中文
  5. export LANG=zh_CN.UTF-8
复制代码
设置好语言情况后,切换为安装用户 kingbase,进入安装程序 setup.sh 所在目次:
  1. ## 由于之前 root 复制的安装文件权限为 root,所以需要重新授权 kingbase 用户
  2. [root@kes install]# chown -R kingbase:kingbase /install
  3. [root@kes install]# su - kingbase
  4. c[kingbase@kes ~]$ cd /install/
  5. [kingbase@kes install]$ ls
  6. KingbaseES_V009R001C001B0030_Lin64_install.iso  setup  setup.sh
复制代码
查看一下 setup.sh 的帮助下令:
  1. [kingbase@kes install]$ ./setup.sh -i silent -h
  2. Usage: install [-f <path_to_installer_properties_file> | -options]
  3.             (to execute the installer)
  4. Where options include:
  5.     -?      Show this help text
  6.     -h      Show this help text
  7.     -help   Show this help text
  8.     --help  Show this help text
  9.     -i [gui | console | silent]
  10.             Specify the user interface mode for the installer
  11.     -D<name>=<value>
  12.             Specify installer properties
  13.     -r <path_to_generate_response_file>
  14.             Generates response file.
  15. JVM heap size options are only applicable to Installers
  16.     -jvmxms <size>
  17.             Specify JVM initial heap size.
  18.     -jvmxmx <size>
  19.             Specify JVM maximum heap size.
  20. The options field may also include the following in case of uninstaller
  21. if it is enabled for Maintenance Mode
  22.     -add <feature_name_1> [<feature_name_2 ...]
  23.             Add Specified Features
  24.     -remove <feature_name_1> [<feature_name_2 ...]
  25.             Remove Specified Features
  26.     -repair
  27.             Repair Installation
  28.     -uninstall
  29.             Uninstall
复制代码
接下来就可以开始进行 KingbaseES 的安装了。
图形化安装

注意:最小化安装的操纵系统可以跳过图形化安装这段,直接去下令行和静默安装了。
启动安装程序

启动图形化安装程序,指定参数 -i gui 为图形化安装:
  1. ## 这里不指定 -i 参数,直接执行 sh setup.sh 也是可以的
  2. [kingbase@kes install]$ sh setup.sh -i gui
复制代码
这里碰到一个题目,假如当前情况不支持图形化调用或者没设置好图形化界面(包括最小化安装),则会报错如下:
  1. 正在启动安装程序...
  2. Graphical installers are not supported by the VM. The console mode should be used instead...
  3. ===============================================================================
  4. KingbaseES V9                                           (使用 InstallAnywhere 创建)
  5. -------------------------------------------------------------------------------
  6. 正在准备控制台模式安装...
复制代码
提示使用下令行模式进行安装,这里可以输入 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 安装成功,点击完成即可退出安装程序:
  1. [kingbase@kes install]$ ./setup.sh -i gui
  2. Now launch installer...
  3. 正在准备进行安装
  4. 正在从安装程序档案中提取 JRE...
  5. 正在解包 JRE...
  6. 正在从安装程序档案中提取安装资源...
  7. 配置该系统环境的安装程序...
  8.           Verifying JVM........
  9. 正在启动安装程序...
  10. Complete.
复制代码
别忘记还有最后一步,root 用户下执行 root.sh 脚本:
  1. ## 这一步是为了注册数据库服务为系统服务
  2. [root@kes ~]# /KingbaseES/V9/install/script/root.sh
  3. Starting KingbaseES V9:
  4. 等待服务器进程启动 .... 完成
  5. 服务器进程已经启动
  6. KingbaseES V9 started successfully
复制代码
注册服务成功后,假如想启动或克制数据库服务,进入 /KingbaseES/V9/Server/bin 目次,使用 kingbase 用户执行如下下令:
  1. # 停止服务
  2. [kingbase@kes:/home/kingbase]$ sys_ctl stop -m fast -w -D /data
  3. 等待服务器进程关闭 .... 完成
  4. 服务器进程已经关闭
  5. # 启动服务
  6. [kingbase@kes:/home/kingbase]$ sys_ctl -w start -D /data -l "/data/sys_log/startup.log"
  7. 等待服务器进程启动 .... 完成
  8. 服务器进程已经启动
复制代码
到此,图形化安装部署演示竣事,过程十分流畅,堪称丝滑。
下令行安装

下令行安装与图形化安装其实差不多,大概演示一下安装过程。
启动安装程序

启动安装程序:
  1. [kingbase@kes:/install]$ sh setup.sh -i console
  2. Now launch installer...
  3. 正在准备进行安装
  4. 正在从安装程序档案中提取 JRE...
  5. 正在解包 JRE...
  6. 正在从安装程序档案中提取安装资源...
  7. 配置该系统环境的安装程序...
  8.           Verifying JVM........
  9. 正在启动安装程序...
  10. ===============================================================================
  11. KingbaseES V9                                           (使用 InstallAnywhere 创建)
  12. -------------------------------------------------------------------------------
  13. 正在准备控制台模式安装...
  14. ===============================================================================
  15. 请稍候
  16. ---
  17. ===============================================================================
  18. 简介
  19. --
  20. 本安装程序将指导您完成 KingbaseES V9 的安装。
  21. 建议您在继续本次安装前,退出所有程序。
  22. 如果要回到前一屏幕进行更改,可输入“back”。
  23. 如果要取消本次安装,可随时输入“quit”。
  24. KingbaseES Version: V9
  25. Kingbase Type:BMJ-NO
  26. Installer Version: V009R001C001B0030
  27. Install DATE:202409251209
  28. Kingbase Inc.
  29.         http://www.kingbase.com.cn
  30. 请按 <ENTER> 键继续:
复制代码
假如不想安装也可以输入 quit 取消。
安装 KES 软件

回车继续安装,下面这一部门全都是许可协议,一起回车即可:
  1. ===============================================================================
  2. 请稍候
  3. ---
  4. ===============================================================================
  5. 许可协议
  6. ----
  7. ## 这一部分全都是许可协议内容,这里就不展示了,比较占篇幅,中间一直回车就完事了
  8. 是否接受此许可协议条款? (Y/N): Y
复制代码
输入 Y 继承许可,选择完全安装:
  1. ===============================================================================
  2. 选择安装集
  3. -----
  4. 请选择将由本安装程序安装的“安装集”。
  5.   ->1- 完全安装
  6.     2- 客户端安装
  7.     3- 定制安装
  8. 输入“安装集”的号码,或按 <ENTER> 键以接受缺省值
  9.    :
  10. ===============================================================================
  11. 请稍候
  12. ---
复制代码
选择授权文件,没有就直接回车:
  1. ===============================================================================
  2. 选择授权文件
  3. ------
  4. 不选择授权文件,则使用软件自带试用版授权
  5. 提示:请在有效期内及时更换正式授权文件。
  6. 文件路径 :
复制代码
选择安装目次,输入 /KingbaseES/V9/,确认,回车继续:
  1. ===============================================================================
  2. 选择安装目录
  3. ------
  4. 请选择一个安装目录。
  5. 您想在哪一位置安装?
  6.   缺省安装文件夹: /opt/Kingbase/ES/V9
  7. 输入一个绝对路径,或按 <ENTER> 键以接受缺省路径
  8.       : /KingbaseES/V9/
  9. 安装文件夹为: /KingbaseES/V9
  10.    是否正确? (Y/N): Y
复制代码
预安装摘要,没题目直接回车下一步:
  1. ===============================================================================
  2. 预安装摘要
  3. -----
  4. 在继续执行前请检查以下信息:
  5. 产品名:
  6.     KingbaseES V9
  7. 安装文件夹:
  8.     /KingbaseES/V9
  9. 产品功能部件:
  10.     数据库服务器,
  11.     接口,
  12.     数据库部署工具,
  13.     高可用组件,
  14.     数据库开发管理工具,
  15.     数据迁移工具
  16. 安装空间磁盘信息
  17.     所需磁盘空间: 5378 MB           空闲磁盘空间: 77447 MB
  18. 请按 <ENTER> 键继续:
复制代码
开始安装:
  1. ===============================================================================
  2. 准备就绪,可以安装
  3. ---------
  4. 本安装程序已准备完毕,可在下列位置安装 KingbaseES V9:
  5. /KingbaseES/V9
  6. 按 <ENTER> 键进行安装:
  7. ===============================================================================
  8. 正在安装...
  9. -------
  10. [==================|==================|==================|==================]
  11. [------------------|------------------|------------------|------------------]
  12. ===============================================================================
  13. 请稍候
  14. ---
复制代码
等待进度条完成代表软件已经安装完成。
初始化数据库

接着上面流程继续,选择数据存储的目次:
  1. ===============================================================================
  2. 选择存储数据的文件夹
  3. ----------
  4. 请选择一个文件夹,该文件夹必须为空。
  5. Data folder (默认﹕ /KingbaseES/V9/data): /data
复制代码
设置数据库初始参数:
  1. ===============================================================================
  2. 数据库端口
  3. -----
  4. 请输入数据库服务监听端口,默认54321。
  5. 端口 (默认﹕ 54321):
  6. ===============================================================================
  7. 数据库管理员
  8. ------
  9. 请输入数据库管理员用户名。
  10. User (默认﹕ system):
  11. ===============================================================================
  12. 输入密码
  13. ----
  14. 本次安装需输入密码才能继续。
  15. 请输入密码: 请输入密码:*********
  16. ===============================================================================
  17. 再次输入密码
  18. ------
  19. 本次安装需再次输入密码才能继续。
  20. 请再次输入密码: 请再次输入密码:*********
  21. ===============================================================================
  22. 数据库服务字符集
  23. --------
  24. 请输入服务端字符集编码。
  25.     1- default
  26.   ->2- UTF8
  27.     3- GBK
  28.     4- GB2312
  29.     5- GB18030
  30. 输入您选择的号码,或按 <ENTER> 键以接受缺省值:
  31. ===============================================================================
  32. 区域
  33. --
  34. 请输入数据库区域。
  35.     1- C
  36.   ->2- zh_CN.UTF-8
  37.     3- en_US.UTF-8
  38. 输入您选择的号码,或按 <ENTER> 键以接受缺省值:
  39. ===============================================================================
  40. 数据库兼容模式
  41. -------
  42. 请输入数据库兼容模式。
  43.     1- PG
  44.   ->2- ORACLE
  45.     3- MySQL
  46. 输入您选择的号码,或按 <ENTER> 键以接受缺省值:
  47. ===============================================================================
  48. 字符大小写敏感特性
  49. ---------
  50. 请输入字符大小写敏感特性。
  51.   ->1- YES
  52.     2- NO
  53. 输入您选择的号码,或按 <ENTER> 键以接受缺省值:
  54. ===============================================================================
  55. 存储块大小
  56. -----
  57. 请输入存储块大小。
  58.   ->1- 8k
  59.     2- 16k
  60.     3- 32k
  61. 输入您选择的号码,或按 <ENTER> 键以接受缺省值:
  62. ===============================================================================
  63. 身份认证方法
  64. ------
  65. 请选择身份认证方法。
  66.   ->1- scram-sha-256
  67.     2- scram-sm3
  68.     3- sm4
  69.     4- sm3
  70. 输入您选择的号码,或按 <ENTER> 键以接受缺省值:
  71. ===============================================================================
  72. 自定义参数
  73. -----
  74. 请输入自定义初始化数据库参数。
  75. Custom (默认﹕  ):
复制代码
开始初始化数据库:
  1. ===============================================================================
  2. 提示
  3. --
  4. 数据库即将被安装,需要花费一些时间,请耐心等待。
  5. 请按 <ENTER> 键继续:
复制代码
等待安装完成后,退出安装程序:
  1. ===============================================================================
  2. 安装完成
  3. ----
  4. 恭喜!KingbaseES V9 已成功地安装到:
  5. /KingbaseES/V9
  6. 如果您需要将 KingbaseES V9 注册为系统服务,请运行
  7.     /KingbaseES/V9/install/script/root.sh
  8. 按 <ENTER> 键以退出安装程序:
  9. Complete.
复制代码
执行 root.sh 脚本:
  1. [root@kes ~]# /KingbaseES/V9/install/script/root.sh
  2. Starting KingbaseES V9:
  3. 等待服务器进程启动 .... 完成
  4. 服务器进程已经启动
  5. 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。 查看默认的设置参数文件内容:
  1. [kingbase@kes:/install/setup]$ grep -v "^\s*\(#\|$\)" /install/setup/silent.cfg
  2. KB_LICENSE_PATH=
  3. CHOSEN_INSTALL_SET=Full
  4. CHOSEN_FEATURE_LIST=SERVER,KSTUDIO,KDTS,INTERFACE,DEPLOY,KINGBASEHA
  5. USER_INSTALL_DIR=/opt/Kingbase/ES/V9
  6. USER_SELECTED_DATA_FOLDER=
  7. DB_PORT=54321
  8. DB_USER=system
  9. DB_PASS=
  10. DB_PASS2=
  11. ENCODING_PARAM=UTF8
  12. LOCALE_PARAM=zh_CN.UTF-8
  13. INITCUSTOM=
  14. DATABASE_MODE_PARAM=ORACLE
  15. CASE_SENSITIVE_PARAM=YES
  16. BLOCK_SIZE_PARAM=8k
  17. AUTHENTICATION_METHOD_PARAM=scram-sha-256
复制代码
根据需求修改对应的参数值:
  1. [kingbase@kes:/install/setup]$ vi /install/setup/silent.cfg
  2. ## 修改以下内容
  3. USER_INSTALL_DIR=/KingbaseES/V9
  4. USER_SELECTED_DATA_FOLDER=/data
  5. DB_PASS=kingbase
  6. DB_PASS2=kingbase
复制代码
修改后的设置文件内容:
  1. [kingbase@kes:/install/setup]$ grep -v "^\s*\(#\|$\)" /install/setup/silent.cfg
  2. KB_LICENSE_PATH=
  3. CHOSEN_INSTALL_SET=Full
  4. CHOSEN_FEATURE_LIST=SERVER,KSTUDIO,KDTS,INTERFACE,DEPLOY,KINGBASEHA
  5. USER_INSTALL_DIR=/KingbaseES/V9
  6. USER_SELECTED_DATA_FOLDER=/data
  7. DB_PORT=54321
  8. DB_USER=system
  9. DB_PASS=kingbase
  10. DB_PASS2=kingbase
  11. ENCODING_PARAM=UTF8
  12. LOCALE_PARAM=zh_CN.UTF-8
  13. INITCUSTOM=
  14. DATABASE_MODE_PARAM=ORACLE
  15. CASE_SENSITIVE_PARAM=YES
  16. BLOCK_SIZE_PARAM=8k
  17. AUTHENTICATION_METHOD_PARAM=scram-sha-256
复制代码
修改完设置文件后,进入安装程序所在目次,以 kingbase 用户执行如下下令:
  1. ## -f 参数指定修改后配置文件的相对或绝对路径,相对路径是指相对 setup/silent.cfg 的相对路径。
  2. [kingbase@kes:/install]$ ./setup.sh -i silent -f /install/setup/silent.cfg
  3. Now launch installer...
  4.           Verifying JVM...Complete.
复制代码
静默安装时不输出怎样屏显,但是可以在安装完成后,查看安装日记 /KingbaseES/V9/install/Logs/KingbaseES_V9_安装_*.log
  1. [kingbase@kes:/home/kingbase]$ tail -2000f /KingbaseES/V9/install/Logs/KingbaseES_V9_*.log
复制代码
等待安装完成后,假如没有报错,则代表安装成功,假如有类似如下错误:

则代表 silent.cfg 文件中参数取值有错误,未完成安装过程,必要修改后重新执行。
连接测试

连接 KES 数据库,查看版本信息:
  1. ## 查看 KES 版本
  2. [kingbase@kes:/home/kingbase]$ kingbase -V
  3. KINGBASE (KingbaseES) V009R001C001B0030
  4. -- 使用 system 用户连接到 kingbase 数据库
  5. [kingbase@kes:/home/kingbase]$ ksql -p 54321 -U system kingbase
  6. 用户 system 的口令:
  7. 输入 "help" 来获取帮助信息.
  8. -- 查看数据库版本
  9. kingbase=# select version();
  10.                                                        version                                                        
  11. ----------------------------------------------------------------------------------------------------------------------
  12. KingbaseES V009R001C001B0030 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28), 64-bit
  13. (1 行记录)
  14. -- 创建数据库 lucifer
  15. kingbase=# create database lucifer;
  16. CREATE DATABASE
  17. -- 查看数据库信息
  18. kingbase=# \l
  19.                                   数据库列表
  20.    名称    | 拥有者 | 字元编码 |  校对规则   |    Ctype    |     存取权限      
  21. -----------+--------+----------+-------------+-------------+-------------------
  22. kingbase  | system | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 |
  23. lucifer   | system | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 |
  24. security  | system | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 |
  25. template0 | system | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 | =c/system        +
  26.            |        |          |             |             | system=CTc/system
  27. template1 | system | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 | =c/system        +
  28.            |        |          |             |             | system=CTc/system
  29. test      | system | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 |
  30. (6 行记录)
  31. -- 切换数据库
  32. kingbase-# \c lucifer      
  33. 您现在以用户名"system"连接到数据库"lucifer"。
  34. -- 查看连接信息
  35. lucifer=# \conninfo                     
  36. 以用户 "system" 的身份,通过套接字"/tmp"在端口"54321"连接到数据库 "lucifer"
  37. -- 创建用户并授权
  38. lucifer=# create user lucifer with password 'lucifer';
  39. CREATE ROLE
  40. lucifer=# alter user lucifer createdb;
  41. ALTER ROLE
  42. -- 查看用户信息
  43. lucifer=# \dg lucifer
  44.            角色列表
  45. 角色名称 |  属性   | 成员属于
  46. ----------+---------+----------
  47. lucifer  | 建立 DB | {}
  48. -- 使用新用户 lucifer 连接数据库 lucifer
  49. lucifer=# \c lucifer lucifer
  50. 用户 lucifer 的口令:
  51. 您现在以用户名"lucifer"连接到数据库"lucifer"。
  52. -- 创建表 t1
  53. lucifer=# create table t1(id number, name varchar2(20));
  54. CREATE TABLE
  55. -- 创建索引 idx_t1_id
  56. lucifer=# create index idx_t1_id on t1(id);
  57. CREATE INDEX
  58. -- 插入数据
  59. lucifer=# insert into t1 values(1,'lucifer');
  60. INSERT 0 1
  61. -- 查看表结构
  62. lucifer=# \d t1
  63.                       数据表 "public.t1"
  64. 栏位 |            类型            | 校对规则 | 可空的 | 预设
  65. ------+----------------------------+----------+--------+------
  66. id   | numeric                    |          |        |
  67. name | character varying(20 char) |          |        |
  68. 索引:
  69.     "idx_t1_id" btree (id)
  70. -- 查看表数据
  71. lucifer=# select * from t1;
  72. id |  name   
  73. ----+---------
  74.   1 | lucifer
  75. (1 行记录)
复制代码
KES 卸载

安装学会了,自然也要知道怎样卸载 KES,卸载一般都很简单。
删除数据库服务

假如在安装后执行 root.sh 脚本在系统中注册了数据库服务,必要在卸载前执行 rootuninstall.sh 脚本删除已注册的数据库服务:
  1. ## 执行没有任何输出
  2. [root@kes ~]# /KingbaseES/V9/install/script/rootuninstall.sh
复制代码
KES 卸载也分 3 种方式:


  • 图形化卸载
  • 控制台卸载
  • 静默卸载
看来 KES 在软件这块支持的功能照旧很丰富的,这里为了省事,就直接使用静默方式进行卸载(kingbase 用户执行):
  1. ## 进入安装目录下的 Uninstall 目录下执行
  2. [kingbase@kes:/home/kingbase]$ cd /KingbaseES/V9/Uninstall
  3. ## 如果是通过静默安装方式安装的,可以不加 -i 参数,否则必须附加 -i 参数
  4. [kingbase@kes:/KingbaseES/V9/Uninstall]$ sh Uninstaller -i silent
复制代码
卸载过程没有提示信息,等待卸载过程完成即可。
   

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

风雨同行

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表