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

license下载


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

软件环境要求
KingbaseES支持各种主流的Linux操作系统64位发行版本,包括CentOS、中标麒麟、银河麒麟、统信UOS、Deepin、凝思、中科方德、欧拉等操作系统。
主机、目录规划
| 主机名 | ip地址 | OS版本 | 内存、CPU | 节点角色 | 数据库端口 |
|---|---|---|---|---|---|
| node1 | 192.*.*.60 | centos7.9 | 4G 、 1个双核 | 主节点 | 54321 |
软件包:/soft/KingbaseES_V009R004C012B0006_Lin64_install.iso
#检查安装包的MD5值或者SHA1值是否和官网上的一致,如果不一致,说明安装文件可能不完整,安装过程可能无法正常完成。
md5sum KingbaseES_V009R004C012B0006_Lin64_install.iso
sha1sum KingbaseES_V009R004C012B0006_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
设置内核参数
# cat >> /etc/sysctl.conf <<EOF
#added by kingbase
kernel.sem=5010 64128000 50100 1280 # 设置信号量
kernel.shmmni=8192 # 设置系统级信号资源
fs.file-max=7672460 # 文件句柄数量上限(系统级)
vm.overcommit_memory=2 # 设置内存分配策略
vm.overcommit_ratio=90 # 设置内存分配时的比例
net.ipv4.ip_local_port_range=9000 65500 # 对外连接端口范围
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 /soft/KingbaseES_V009R004C012B0006_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_sqlserver.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- SQL Server
ENTER THE NUMBER FOR YOUR CHOICE, OR PRESS <ENTER> TO ACCEPT THE DEFAULT:
9、输入数据库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
10、输入加密方法
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
11、自定义参数
Please enter database custom parameters.
Custom (Default: ):
12、初始化数据库
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
用户 system 的口令:
Licesen Type: SALES-企业版.
输入 "help" 来获取帮助信息.
test=#
# 查看数据库连接信息
test=# \conninfo
以用户 "system" 的身份,通过套接字"/tmp"在端口"54321"连接到数据库 "test"
# 查看数据库版本
test=# select version();
version
-------------------------
KingbaseES V009R004C012
(1 行记录)
# 查看数据库兼容模式
test=# show database_mode;
database_mode
---------------
sqlserver
(1 行记录)
test=#
# 查看数据库列表
test=# \l
数据库列表
名称 | 拥有者 | 字元编码 | 校对规则 | Ctype | Iculocale | 存取权限
-----------+--------+----------+-------------+-------------+-----------+-------------------
kingbase | system | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 | ci_x_icu |
master | system | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 | ci_x_icu |
resource | system | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 | ci_x_icu |
security | system | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 | ci_x_icu |
tempdb | system | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 | ci_x_icu |
template0 | system | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 | ci_x_icu | =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 | ci_x_icu |
(8 行记录)
test=#
# 查看数据库自带的用户列表
test=# \du
角色列表
角色名称 | 属性 | 成员属于
----------+--------------------------------------------+----------
kcluster | 无法登录 | {}
sao | 没有继承 | {}
sso | 没有继承 | {}
system | 超级用户, 建立角色, 建立 DB, 复制, 绕过RLS | {}
test=#
# 创建表
test=# create table testtab(id int);
CREATE TABLE
# 查看表
test=# \dt
关联列表
架构模式 | 名称 | 类型 | 拥有者
----------+---------+--------+--------
public | testtab | 数据表 | system
(1 行记录)
test=#
卸载KES
kingbase用户登录系统后,进入${安装目录}/Uninstall目录,执行如下命令,启动卸载程序。
sh Uninstaller -i console
关于作者
网名:飞天,墨天轮2024年度优秀原创作者,拥有 Oracle 10g OCM 认证、PGCE认证、MySQL 8.0 OCP认证以及OBCA、KCP、KCSM、ACP、YCP、磐维等众多国产数据库认证证书,目前从事Oracle、Mysql、PostgresSQL、磐维数据库管理运维工作,喜欢结交更多志同道合的朋友,热衷于研究、分享数据库技术。
微信公众号:飞天online
墨天轮:https://www.modb.pro/u/15197
如有任何疑问,欢迎大家留言,共同探讨~~~




