KingbaseES(Oracle兼容版)单机部署
KES 软件下载
https://www.kingbase.com.cn/download.html

license下载


安装前准备
硬件环境要求
KingbaseES支持通用X86_64、龙芯、飞腾、鲲鹏、申威等国产CPU硬件体系架构。

软件环境要求
KingbaseES支持主流的64位Linux操作系统,如银河麒麟、中标麒麟、统信、欧拉、凝思、Deepin、中科方德、CentOS、Ubuntu等。
主机、目录规划
| 主机名 | ip地址 | OS版本 | 内存、CPU | 节点角色 | 数据库端口 |
|---|---|---|---|---|---|
| node1 | 192.*.*.60 | centos7.9 | 4G 、 1个双核 | 主节点 | 54321 |
软件包:/soft/KingbaseES_V009R002C012B0003_Lin64_install.iso
#检查安装包的MD5值或者SHA1值是否和官网上的一致,如果不一致,说明安装文件可能不完整,安装过程可能无法正常完成。
md5sum KingbaseES_V009R002C012B0003_Lin64_install.iso
sha1sum KingbaseES_V009R002C012B0003_Lin64_install.iso
license文件:/soft/license_V009R002C_oracle.dat
软件安装目录 /opt/kes/v9
数据存放目录 /data
关闭SELINUX
# vi /etc/selinux/config
修改SELINUX=disabled
或者
sed -i 's/^SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
关闭防火墙
# systemctl disable firewalld.service
# systemctl stop firewalld.service
# systemctl status firewalld
关闭RemoveIPC
systemd-logind服务中引入的一个特性,是当一个用户退出系统后,会删除所有有关的IPC对象。该特性由/etc/systemd/logind.conf文件中的RemoveIPC参数控制。某些操作系统会默认打开,会造成程序信号丢失等问题(只有redhat7及以上和一些特殊的国产Linux的版本需要修改,改之前可先查看此项是否为默认yes)。
(1) 修改/etc/systemd/logind.conf文件中的“RemoveIPC”值为“no”
# cat >> /etc/systemd/logind.conf <<EOF
RemoveIPC=no
EOF
(2) 修改/usr/lib/systemd/system/systemd-logind.service文件中的“RemoveIPC”值为“no”
# cat >> /usr/lib/systemd/system/systemd-logind.service <<EOF
RemoveIPC=no
EOF
(3) 重启服务
systemctl daemon-reload
systemctl restart systemd-logind.service
(4) 结果验证
loginctl show-session | grep RemoveIPC
systemctl show systemd-logind | grep RemoveIPC
说明:没有输出是正常的。
配置sudo权限
cat >>/etc/sudoers << EOF
kingbase ALL=(ALL) NOPASSWD:ALL
EOF
设置/etc/hosts
# cat >> /etc/hosts <<EOF
192.*.*.60 node1 #注意*要根据实际情况替换
EOF
设置内核参数
# cat >> /etc/sysctl.conf <<EOF
#added by kingbase
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
EOF
sysctl -p 生效
设置资源限制
# cat >> /etc/security/limits.conf <<EOF
#added by kingbase
* soft nofile 65536
* hard nofile 65535
* soft nproc 65536
* hard nproc 65535
* soft core unlimited
* hard core unlimited
EOF
创建用户及用户组
# groupadd -g 1101 kingbase
# useradd -g kingbase -u 1101 -m kingbase
# passwd kingbase
创建软件安装目录并授权
# mkdir -p /opt/kes/v9
# chown -R kingbase:kingbase /opt/kes/v9
创建数据目录并授权
数据目录是KingbaseES中存放数据文件的目录,默认是在安装目录下的data目录。也可以与安装目录分开单独设置。本次安装单独设置数据目录/data。
# mkdir -p /data
# chown -R kingbase:kingbase /data
KES安装包挂载
# mount -o loop KingbaseES_V009R002C012B0003_Lin64_install.iso /mnt/
命令行安装
主要安装过程如下:
# su - kingbase
$ cd /mnt
## 命令行安装
主要安装过程如下:
```language
# su - kingbase
$ cd /mnt
$ ./setup.sh -i console
1、接受许可协议
2、选择安装方式
->1- Full
2- Client
3- Custom
3、选择license文件:
File Path: /soft/license_V009R002C_oracle.dat
4、选择软件安装文件夹
ENTER AN ABSOLUTE PATH, OR PRESS <ENTER> TO ACCEPT THE DEFAULT
: /opt/kes/v9
5、选择数据目录文件夹
Data folder (Default: /opt/kes/v9/data): /data
6、输入端口
Please enter database service listened port, default 54321.
Port (Default: 54321):
5、输入数据库管理用户和密码
Please enter database administrator user name.
User: (Default: system):
Please Enter the Password: Please Enter the Password:******
6、输入服务器字符集编码
Please enter server character set encoding.
1- default
->2- UTF8
3- GBK
4- GB2312
5- GB18030
ENTER THE NUMBER FOR YOUR CHOICE, OR PRESS <ENTER> TO ACCEPT THE DEFAULT: 2
7、输入数据库的区域设置
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: 2
8、输入数据库模式
Please enter database mode.
->1- ORACLE
2- PG
ENTER THE NUMBER FOR YOUR CHOICE, OR PRESS <ENTER> TO ACCEPT THE DEFAULT:
9、输入大小写敏感性
Case Sensitivity
----------------
Please enter the case sensitivity.
->1- YES
2- NO
ENTER THE NUMBER FOR YOUR CHOICE, OR PRESS <ENTER> TO ACCEPT THE DEFAULT:
10、输入数据库block大小
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: 1
11、输入加密方法
Please enter the encrypt 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: 1
12、自定义参数
Please enter database custom parameters.
Custom (Default: ):
13、初始化数据库
The database will be initialized, which may take some time. Please be patient.
PRESS <ENTER> TO CONTINUE:
14、安装完成
Congratulations. KingbaseES V9 has been successfully installed to:
/opt/kes/v9
If you want to register KingbaseES V9 as OS service, please run
/opt/kes/v9/install/script/root.sh
PRESS <ENTER> TO EXIT THE INSTALLER:
Complete.
15、root用户注册kingbase服务
root用户执行 /opt/kes/v9/install/script/root.sh
至此数据库安装完成。安装完成后,数据库是启动的。
配置kingbase用户环境变量
cat >>/home/kingbase/.bashrc<<EOF
export KINGBASE_DATA=/data
export PATH=$PATH:/opt/kes/v9/Server/bin
export LANG=zh_CN.UTF8
export KINGBASE_PORT=54321
EOF
环境变量生效:
source /home/kingbase/.bashrc
启停KES服务
# systemctl start kingbased
# systemctl status kingbased
# systemctl stop kingbased
数据库连接测试
ksql连接测试
[kingbase@node1 ~]$ ksql -U system -d test
Password for user system:
Licesen Type: oracle兼容版.
Type "help" for help.
test=#
# 查看数据库连接信息
test=# \conninfo
以用户 "system" 的身份,通过套接字"/tmp"在端口"54321"连接到数据库 "test"
# 查看数据库版本
test=# select version();
version
-------------------------
KingbaseES V009R002C012
(1 行记录)
# 查看数据库兼容模式
test=# show database_mode;
database_mode
---------------
oracle
(1 行记录)
test=#
# 查看数据库列表
test=# \l
数据库列表
名称 | 拥有者 | 字元编码 | 校对规则 | Ctype | ICU 排序 | 存取权限
-----------+--------+----------+-------------+-------------+----------+-------------------
kingbase | 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 | |
(5 行记录)
test=#
test=#
# 查看数据库自带的用户列表
test=# \du
角色列表
角色名称 | 属性 | 成员属于
------------+--------------------------------------------+----------
kcluster | 无法登录 | {}
sao | 没有继承, 建立角色 | {}
sao_oper | 没有继承, 无法登录 | {}
sao_public | 没有继承, 无法登录 | {}
sso | 没有继承, 建立角色 | {}
sso_oper | 没有继承, 无法登录 | {}
sso_public | 没有继承, 无法登录 | {}
system | 超级用户, 建立角色, 建立 DB, 复制, 绕过RLS | {}
test=#
# 创建表
test=# create table testtab(id int);
CREATE TABLE
# 查看表
test=# \dt
关联列表
架构模式 | 名称 | 类型 | 拥有者
----------+---------+--------+--------
public | testtab | 数据表 | system
(1 行记录)
test=#
navicat连接测试


dbeaver连接测试
KES软件自带jdbc驱动,位置在KES软件安装目录的Interface/jdbc目录下。本例中KES软件安装目录是/opt/kes/v9,自带的驱动如下:
[kingbase@node1 ~]$ cd /opt/kes/v9/Interface/jdbc
[kingbase@node1 jdbc]$ ll
总用量 6856
-rw-rw-r-- 1 kingbase kingbase 1216681 6月 24 23:30 kingbase8-9.0.0.jar
-rw-rw-r-- 1 kingbase kingbase 1072116 6月 24 23:30 kingbase8-9.0.0.jre6.jar
-rw-rw-r-- 1 kingbase kingbase 1212045 6月 24 23:30 kingbase8-9.0.0.jre7.jar
-rw-rw-r-- 1 kingbase kingbase 1218184 6月 24 23:30 postgresql-42.2.9.jar
-rw-rw-r-- 1 kingbase kingbase 1073317 6月 24 23:30 postgresql-42.2.9.jre6.jar
-rw-rw-r-- 1 kingbase kingbase 1213554 6月 24 23:30 postgresql-42.2.9.jre7.jar
[kingbase@node1 jdbc]$
把数据库服务器上的kingbase8-9.0.0.jar驱动下载到本地。
dbeaver通过jdbc连接数据库。
新建驱动:选择菜单Database->Driver Manager->New

编辑驱动:

新建数据库连接:选择菜单Database->New Database Connection->选择刚才创建的驱动

测试连接:

查询表数据:

关于作者
网名:飞天,墨天轮2024年度优秀原创作者,拥有 Oracle 10g OCM 认证、PGCE认证、MySQL 8.0 OCP认证以及OBCA、KCP、KCSM、ACP、磐维等众多国产数据库认证证书,目前从事Oracle、Mysql、PostgresSQL、磐维数据库管理运维工作,喜欢结交更多志同道合的朋友,热衷于研究、分享数据库技术。
微信公众号:飞天online
墨天轮:https://www.modb.pro/u/15197
如有任何疑问,欢迎大家留言,共同探讨~~~




