配置环境:
操作系统:Centos7.9 x86_64
数据库版本:V009R001C001B0030
安装前准备工作
安装包准备
访问金仓官网【下载中心】免费下载最新KES V9 安装包 V009R001C001B0030
金仓官网【下载中心】地址:电科金仓-成为世界卓越的数据库产品与服务提供商 (kingbase.com.cn)

单击“软件版本--数据库”点击下载并上传到/opt目录下,并复制校验码,本文选择MD5校验码。

通过以下命令查看安装程序文件对应的MD5值或SHA1值,再和复制的MD5值或SHA1值进行比对。如果一致,说明安装文件正常;如果不一致,说明安装文件可能不完整,安装过程可能无法正常完成。
查看其MD5值:
cd /opt
md5sum KingbaseES_V009R001C001B0030_Lin64_install.iso查看其SHA1值:
cd /opt
sha1sum KingbaseES_V009R001C001B0030_Lin64_install.iso安装包的挂载与取消 ¶
iso格式的安装程序包需要先挂载才能使用。挂载iso文件需要使用root用户。
mount /opt/KingbaseES_V009R001C001B0030_Lin64_install.iso /mnt查看挂载目录下的文件,如下:
[root@localhost opt]# ls -l /mnt
total 6
dr-xr-xr-x. 2 root root 2048 May 21 21:44 setup
-r-xr-xr-x. 1 root root 3932 May 21 21:44 setup.sh授权文件准备
访问金仓官网【下载中心】免费下载最新KES V9 安装包 V009R001C001B0030的授权文件
金仓官网【下载中心】地址:电科金仓-成为世界卓越的数据库产品与服务提供商 (kingbase.com.cn)

单击“软件版本--授权文件”点击下载,建议下载企业版,功能更全,并发数最大。

本地解压授权文件并上传服务器,并重命名为license.dat
[root@localhost opt]# ls -l license.dat
-rw-r--r--. 1 root root 3676 Sep 24 18:16 license.dat创建安装用户
在安装KingbaseES时,安装用户对于安装路径需有“读”、“写”、“执行”的权限。在Linux系统中,需要以非root用户执行安装程序,且该用户要有标准的home目录。
因此,建议在正式安装前,新建kingbase用户作为KingbaseES专用的系统用户,运行如下命令创建kingbase用户:
--检查kingbase用户是否存在,存在则执行下条命令删除,该操作要慎重
cat /etc/passwd | grep kingbase
userdel -rf kingbase
--创建同名用户组和用户kingbase
groupadd -g 1010 kingbase
useradd -d /home/kingbase -g kingbase -u 1010 kingbase
--设置用户kingbase密码
echo 'topah_123' | passwd --stdin kingbase 注意
该命令会同时创建同名用户组kingbase以及用户根目录/home/kingbase。
目录规划
KingbaseES默认的安装目录是 /opt/Kingbase/ES/V8 。
也可以自定义安装路径。如自定义安装路径为/kdb 。
数据目录是KingbaseES中存放数据文件的目录,默认是在安装目录下的data目录。也可以与安装目录分开单独设置。可以根据业务系统数据量来单独设置数据目录路径,例如将数据目录初始化在本机硬盘或者挂载在盘阵上。
使用root用户创建目录的命令如下:
mkdir -pv /kdb/{ksoft,v9,data,scripts,backup,archs,tmp}
chown -R kingbase:kingbase /kdb/
chmod -R 775 /kdb/注意
数据目录可不必事先创建。安装过程中会提示指定数据目录,如果目录不存在安装程序会自动创建。
环境变量
su - kingbase
cp /home/kingbase/.bashrc /home/kingbase/.bashrc_bak_`date +%F`
cat << EOF >> /home/kingbase/.bashrc
export PATH=$PATH:$KINGBASE_HOME/bin
export KINGBASE_HOME=/kdb/v9/Server
export LD_LIBRARY_PATH=$KINGBASE_HOME/lib:$PATH
export KINGBASE_DATA=/kdb/data
export BACKUP_PATH=/kdb/backup #sys_rman备份时需要
export KINGBASE_USER=system
export KINGBASE_PORT=54326
export KINGBASE_DATABASE=test
EOF
source /home/kingbase/.bashrc命令行方式安装KES
本文档采用命令行安装方式在Linux系统中安装KES。
整体的安装流程如下图所示:

启动安装程序
命令行安装支持中文和英文的文字提示。根据操作系统的语言设置会显示对应语言的提示信息。可以执行如下命令查看操作系统的语言设置:
echo $LANG可分别按以下命令按需求设置安装程序语言显示方式:
export LANG=zh_CN.UTF-8
或
export LANG=en_US.UTF-8命令行安装
su - kingbase
cd /mnt
sh setup.sh -i console简介
“简介”界面中提供了KingbaseES版本和安装程序版本等信息。
Welcome
-------
This installer will guide you through the installation of KingbaseES V9.
It is strongly recommended that you quit all programs before continuing with
this installation. You may cancel this installation by typing 'quit'.
KingbaseES Version: V9
Kingbase Type:BMJ-NO
Installer Version: V009R001C001B0030
Install DATE:202409240608
Kingbase Inc.
http://www.kingbase.com.cn
PRESS <ENTER> TO CONTINUE:输入quit,按<ENTER>退出安装;
输入back,按<ENTER>返回前一屏幕;
直接按<ENTER>进行下一步操作。
若无特殊说明,以下各步骤皆与此相同。
许可协议
在此步骤需要阅读完整的许可协议。连续按<ENTER>翻页阅读直到结束。
of China", "Trademark Law of the People's Republic of China", "Patent Law of
the People's Republic of China", "Anti-Unfair Competition Law of the People's
Republic of China", etc.). In respect of any dispute or claim which may arise
by this EULA or the violation of the EULA, you consent to the jurisdiction of
the federal and provincial courts sitting in the location of Kingbase. If
Kingbase's intellectual property is violated, the above terms do not restrict
Kingbase to apply remedial measures from the legitimate court with governing
rights.
Beijing Kingbase Information Technologies Inc.
Add: 3 layer, B block, Information Industrial Park, Rongda Road 7, Chaoyang
District, Beijing, 100102 China
Tel: 86-10-5885 1118
Http: //www.kingbase.com.cn
National Hotline: 400-601-1188
Support E-mail: support@kingbase.com.cn
DO YOU ACCEPT THE TERMS OF THIS LICENSE AGREEMENT? (Y/N): y输入Y(不分大小写)表示接受此许可协议条款。
输入N(不分大小写)表示不接受此许可协议条款,输入其他无效。
若不接受,则会提示警告信息,无法继续安装,提示用户重新选择。
选择安装集
根据安装后数据库服务功能的不同,KingbaseES可分为完全安装、客户端安装和自定义安装三种安装集。
- 完全安装:包括数据库服务器、高可用组件、接口、数据库开发管理工具、数据库迁移工具、数据库部署工具。
- 客户端安装:包括接口、数据库开发管理工具、数据库迁移工具、数据库部署工具。
- 定制安装:在数据库服务器、高可用组件、接口、数据库开发管理工具、数据库迁移工具、数据库部署工具所有组件中自由选择。
输入1,或按<ENTER>接受缺省项,选择“完全安装”安装集,系统将安装KingbaseES所有组件,跳至 选择授权文件 。
输入2,选择“客户端安装”安装集,系统将安装KingbaseES的所有客户端工具、编程接口、扩展插件以及命令行可执行二进制文件,跳至 选择安装文件夹 。
输入3,选择“自定义安装”安装集,可根据需求选择安装所需功能组件,将进入下一步 选择产品功能组件 。
Choose Install Set
------------------
Please choose the Install Set to be installed by this installer.
->1- Full
2- Client
3- Custom选择授权文件
输入授权文件的绝对路径后,按<ENTER>以检查授权文件,若授权文件有效,则进入下一步骤。
Choose License File
-------------------
Use the Trial license if no license is selected.
Please replace the offical license before expiration.
File Path : /opt/license.dat会显示如下授权文件信息:
File Path : /opt/license.dat
License序列号 --- 启用 --- 197C9F62-3209-11EF-AACD-000C29CBE49F
生产日期 --- 启用 --- 2024-06-24
产品名称 --- 启用 --- KingbaseES V8
细分版本模板名 --- 启用 --- SALES-企业版 V9R1
产品版本号 --- 启用 --- V009R001C
浮动基准日期 ------ 启用
有效期间 --- 启用 --- 90
用户名称 --- 启用 --- 官方网站试用授权
项目名称 --- 启用 --- 官方网站试用授权
CPU检查 --- 启用 --- 0
容器名称 --- 禁用 --- 0
MAC地址 --- 启用 --- 00:00:00:00:00:00
最大连接数 --- 启用 --- 0
分区 --- 启用 --- 0
物理同步 --- 启用 --- 0
读写分离模块 --- 启用 --- 0
恢复到指定时间点 --- 启用 --- 0
集群对网络故障的容错 --- 启用 --- 0
快速加载 --- 启用 --- 0
日志压缩 --- 启用 --- 0
全文检索 --- 启用 --- 0
性能优化包(性能诊断) --- 启用 --- 0
性能优化包(性能调优) --- 启用 --- 0
保密通讯协议 --- 启用 --- 0
审计 --- 启用 --- 0
三权分立 --- 启用 --- 0
透明加密 --- 启用 --- 0
强制访问控制 --- 启用 --- 0
列加密 --- 启用 --- 0
密码复杂度 --- 启用 --- 0
用户锁定 --- 启用 --- 0
集群管理软件 --- 启用 --- 0
集群配置工具 --- 启用 --- 0
集群高级管理包 --- 启用 --- 0
并行查询 --- 启用 --- 0
并行备份还原 --- 启用 --- 0
异构数据源 --- 启用 --- 0
日志解析 --- 启用 --- 0
GIS --- 启用 --- 0
日志解析为SQL --- 启用 --- 0
操作系统类型 --- 启用 --- 0
数据守护集群 --- 启用 --- 0
多活共享存储集群 --- 启用 --- 0选择安装文件夹
此步骤用于选择安装路径。默认安装路径是/opt/Kingbase/ES/V8。
Choose Install Folder
---------------------
Please choose a destination folder for this installation.
Where would you like to install?
Default Install Folder: /opt/Kingbase/ES/V9
ENTER AN ABSOLUTE PATH, OR PRESS <ENTER> TO ACCEPT THE DEFAULT
: /kdb/v9
INSTALL FOLDER IS: /kdb/v9
IS THIS CORRECT? (Y/N): Y 可自行输入一个绝对路径作为安装目录。缺省直接按<ENTER>键,即为默认路径。
再次确认完整路径,输入Y(不分大小写),按<ENTER>键继续。
预安装摘要
在此步骤会看到即将安装产品的摘要信息。包括:
- 产品名称。
- 安装文件夹。
- 指定安装的功能组件。
- 安装路径所在磁盘空间信息。
Pre-Installation Summary
------------------------
Please Review the Following Before Continuing:
Product Name:
KingbaseES V9
Install Folder:
/kdb/v9
Product Features:
SERVER,
INTERFACE,
DEPLOY,
KINGBASEHA,
KSTUDIO,
KDTS
Install Disk Space Information
Require Disk space : 5378 MB Free Disk Space : 32048 MB安装确认
在此步骤进行安装确认。按<ENTER>键系统开始执行安装过程。
Ready To Install
----------------
InstallAnywhere is now ready to install KingbaseES V9 onto your system at the
following location:
/kdb/v9
PRESS <ENTER> TO INSTALL:安装过程中会不断刷新安装进度。
初始化数据库
首先选择数据库数据目录,默认数据库数据目录为安装目录下的data目录。
Choose a Folder for data directory
----------------------------------
Please choose a folder. The folder must be empty.
Data folder (Default: /kdb/v9/data): /kdb/data设置如下初始化数据库参数:
- 默认端口为:54321(可自定义),本文档自定义路径:/kdb/data
- 默认账户为:system(可自定义)
- 密码(自定义)
- 默认字符集编码为:UTF8(可选GBK、GB18030)
- 默认数据库字符编码:zh_CN.UTF-8(可选en_US.UTF-8、C)
- 默认数据库兼容模式为:ORACLE(可选 PG、MySQL)
- 默认大小写敏感为:是(可选否)
- 默认数据块大小为:8k(可选16k、32k)
- 默认加密方法为sm4(可选 rc4)
- 默认身份认证方法为scram-sha-256(可选 scram-sm3,sm4,sm3)
Port
----
Please enter database service listened port, default 54321.
Port (Default: 54321): 54326
User
----
Please enter database administrator user name.
User (Default: system):
Please Enter the Password: Please Enter the Password:*********
===============================================================================
Enter Password again
--------------------
Please Enter the Password Again: Please Enter the Password Again:*********
===============================================================================
Server Encoding
---------------
Please enter server character set encoding.
1- default
->2- UTF8
3- GBK
4- GB2312
5- GB18030
Locale
------
Please enter the Database Locale.
1- C
->2- zh_CN.UTF-8
3- en_US.UTF-8
ENTER THE NUMBER FOR YOUR CHOICE, OR PRESS <ENTER> TO ACCEPT THE DEFAULT: 3
===============================================================================
Database Mode
-------------
Please enter database mode.
1- PG
->2- ORACLE
3- MySQL
ENTER THE NUMBER FOR YOUR CHOICE, OR PRESS <ENTER> TO ACCEPT THE DEFAULT: 2
===============================================================================
Case Sensitivity
----------------
Please enter the case sensitivity.
->1- YES
2- NO
ENTER THE NUMBER FOR YOUR CHOICE, OR PRESS <ENTER> TO ACCEPT THE DEFAULT: 1
===============================================================================
Block Size
----------
Please enter block size used in storing data.
->1- 8k
2- 16k
3- 32k
ENTER THE NUMBER FOR YOUR CHOICE, OR PRESS <ENTER> TO ACCEPT THE DEFAULT:
===============================================================================
Authentication Method
---------------------
Please enter the authentication method.
->1- scram-sha-256
2- scram-sm3
3- sm4
4- sm3
ENTER THE NUMBER FOR YOUR CHOICE, OR PRESS <ENTER> TO ACCEPT THE DEFAULT:
===============================================================================
Custom
------
Please enter database custom parameters.
Custom (Default: ):
安装完成
若安装过程中没有出现任何警告或错误,将显示如下界面。
Installation Complete
---------------------
Congratulations. KingbaseES V9 has been successfully installed to:
/kdb/v9
If you want to register KingbaseES V9 as OS service, please run
/kdb/v9/install/script/root.sh
PRESS <ENTER> TO EXIT THE INSTALLER:按<ENTER>键退出安装程序。
执行root.sh
注册数据库服务为系统服务,可以在安装并初始化数据库成功后,执行root.sh脚本来注册并启动数据库服务,具体步骤如下:
- 打开新终端;
- 切换到root用户;
- 运行${安装目录}/install/script/root.sh 。
su - root
/kdb/v9/install/script/root.sh如果不用系统服务方式启动或停止数据库服务,进入${安装目录}/Server/bin目录执行如下命令:
#启动服务
sys_ctl -w start -D ${Data文件目录}
#停止服务
sys_ctl stop -D ${Data文件目录}安装后检查
在安装完成后,可以通过以下几种方式进行安装正确性验证:
查看安装日志
在${安装目录}/Logs目录下,存在名称为 "install.log" 的日志文件,其中记录了安装过程的所有信息。可以打开日志文件,查看如下所示安装结果信息判断是否安装正确。
验证工具是否能连接数据库
可以使用交互式终端工具(ksql)连接数据库。进入${安装目录}/Server/bin目录,执行如下命令:
./ksql -p 54326 -U system test-p参数指定初始化数据库时设置的端口。-U参数指定初始化数据库时设置的管理员用户,也可以是其他用户。如果ksql能够正常连接数据库服务,则说明数据库安装正常。
查看已安装数据库的版本信息
进入${安装目录}/Server/bin目录,执行
./kingbase –V;或在交互式终端(ksql)中执行
select version();查看兼容模式
test=# show database_mode;
database_mode
---------------
oracle
(1 row)查看字符集编码
test=# show server_encoding;
server_encoding
-----------------
UTF8
(1 row)查看区分大小
--区分大小写参数 off是敏感,on是不敏感
V8R3
SHOW case_sensitive;
on:表示大小写敏感。
off:表示大小写不敏感。
V8R6
test=# show enable_ci;
enable_ci
-----------
off
(1 row)查看字符集
test=# show database_encoding_ci;
database_encoding_ci
----------------------
UTF-8
(1 row)查看数据块大小
test=# show block_size;
block_size
------------
8192
(1 row)优化
操作系统优化
脚本optimize_system_conf.sh位置:/kdb/v9/SupTools/kb_modify_syscfg
根据自己服务器内存配置情况,更改shall shmmax内容,然后执行root用户执行
数据库配置优化
脚本optimize_database_conf.sh位置:/kdb/v9/SupTools/kb_modify_syscfg
kingbase用户执行
数据库日志优化
1、将告警日志生成为csv格式的文件。
2、记录数据库中运行时长超过1分钟的慢SQL。
3、每小时生成一个日志,但是如果文件尺寸大于1GB也切换日志。
4、保留7天的日志。
5、超期的日志自动覆盖。
[kingbase@node1 ~]$ vi /kdb/data/kingbase.conf
logging_collector = on
log_destination = 'csvlog'
log_statement = 'all'
log_truncate_on_rotation = on
log_rotation_age = 60
log_rotation_size = 1GB
log_min_duration_statement = 60000 #单位毫秒 1s【秒】 = 1000ms【毫秒】 1m=60s
log_line_prefix = '%m %p %u %d %r'
log_filename = 'kingbase_%H_%a.log' %a 星期的英文单词的缩写:如星期一, 则返回 Mon %a代表了周一至周日 7天
--查看参数配置结果
show logging_collector ;
show log_destination ;
show log_statement;
show log_truncate_on_rotation ;
show log_rotation_age ;
show log_rotation_size ;
show log_min_duration_statement ;
show log_filename ;查找慢sql之一: log_min_duration_statement 单位毫秒 如果语句运行超过设置的值,那么语句将被记录在日志里。 设置为 -1 (默认值)将停止记录语句持续时间。 1s【秒】 = 1000ms【毫秒】
log_rotation_age:当logging_collector被启用时,这个参数决定一个个体日志文件的最长生命期。当这些分钟过去后,一个新的日志文件将被创建。将这个参数设置为零将禁用基于时间的新日志文件创建。单位分钟
log_rotation_size:当logging_collector被启用时,这个参数决定一个个体日志文件的最大尺寸。当这么多千字节被发送到一个日志文件后,将创建一个新的日志文件。将这个参数设置为零将禁用基于尺寸的新日志文件创建。
log_truncate_on_rotation:默认为off,设置为on的话,如果新建了一个同名的日志文件,则会清空原来的文件,再写入日志,而不是在后面追加。
log_line_prefix = '%m %p %u %d %r':
%m:带毫秒的时间戳
%p:进程 ID
%u:用户名
%d:数据库
%r:远程主机名或 IP 地址,以及远程端口
log_filename:%H 小时
创建业务数据库和用户
create user ciphermachine with password 'top@123';
create database cipher_machine owner ciphermachine;
grant all privileges on database cipher_machine to ciphermachine;JDBC连接
URL:jdbc:kingbase8://192.168.40.110:54326/ahtop
driver:com.kingbase8.Driver



