1、软件下载与授权文件获取
金仓数据库属于非开源产品,企业版本需要绑定主机 MAC 地址进行 license 授权使用,当然你也可以下载企业版或者专业版的 90 天试用,开发版本的365 天试用产品,软件下载地址
https://www.kingbase.com.cn/xzzx/index.htm
KingbaseES 支持多种操作系统和硬件平台:支持 Linux、Windows、国产Kylin 等数十个操作系统产品版本,支持通用 x86_64 及国产龙芯、飞腾、申威等 CPU 硬件体系架构.
针对不同类型的客户需求,KingbaseES 提供标准版、企业版、专业版、开发版等多种版本。
这些版本构建于同一数据库引擎上,不同平台版本完全兼容,KingbaseES 能够提供一主一备以及一主多备的高可用集群架构,实现数据及实例级(异地) 故障容灾,也能够提供多节点并行服务,内存融合及存储共享,实现高并发性能利用最大化,结合读写分离或备份使用同步实现数据保护最大化。
现在使用的 OS 是 x86_64 位的 CentOS Linux release 7.6.1810
(Core) ,如下所示,下载 X86 Linux 类型的安装介质

License 是 KingbaseES 提供的授权文件,其中会对数据库有效日期、发布类型、最大并发连接数、mac 地址、ip等信息进行设置,如果在License 文件中信息与安装环境中相关信息不匹配,数据库将无法启动,如上所示,可下载试用版本的License 文件

2、操作系统安装CentOS 7.6-KES 软件安装规划表
类型 | 相关信息 | 备注 |
安装包 | KingbaseES_V009R001C001B0030_Lin64_install.iso | V9版本 |
操作系统 | CentOS-7.6-x86_64-DVD-1810 | X86 CentOS7 |
安装用户 | kingbase | 指定组和用户ID |
安装路径 | /data/KingbaseES/V9 | 默认/opt/KingbaseES/ES/V9 |
归档路径 | /data/KingbaseES/arch | 目录不存在会自动创建 |
端口 | 54325 | 非默认端口 |
SYSTEM密码 | kingbaseLHH | / |
数据库编码格式 | UTF8 | / |
License | license_41248_0.dat | V009R001-license-企业版-90天 |
测试环境,如上表是一些安装要求及明细信息,有了这些信息也方便以后的运维,为以后的日常运维减少一些不必要的麻烦。
2.1 准备一台PC服务器
要安装一台kingbase V9数据库服务器,首先需要准备一台PC服务器,本次安装实例中,PC服务器有4个CPU核心、8GB内存、多块600GB的硬盘。
如果手头上没有这种配置的的服务器,可以考虑使用Vmware
Workstation虚拟机软件,仿真出一台这种配置的PC服务器。

2.2下载CentOS 7.6介质
打开下面的链接https://www.centos.org/download/,
下载CentOS 7.6介质
下载地址:https://vault.centos.org/7.6.1810/isos/x86_64/
下载CentOS 7.6介质。
CentOS 7.6介质的文件名是CentOS-7.6-x86_64-DVD-1810。
2.3 安装CentOS 7.6
直接使用CentOS 7.6 ISO文件,在Vmware Workstation虚拟化环境中,安装CentOS操作系统。
打开计算机的电源,稍等片刻出现如下提示:

在上面的屏幕,在键盘上使用上箭头↑,移动到Install CentOS 7,然后敲回车键,开始安装CentOS7.6 ,稍等片刻后,出现如下屏幕提示:

根据屏幕提示,敲击回车键继续CentOS的安装过程。稍等片刻,出现如下提示:

这个屏幕提示,要求你选择安装过程的提示语言。建议采用默认值,不要选中文!然后点击继续按钮,出现如下的CentOS操作系统安装配置界面:

在这个安装配置界面中,需要为安装CentOS操作系统做一些配置。
首先配置安装后的操作系统的时区信息。点击Date
& TIME按钮,出现如下屏幕提示:

在Region栏选择Asia,City栏选择Shanghai,然后点击Done返回CentOS操作系统安装配置界面:

接下来点击SOFTWARE SELECTION按钮,出现如下屏幕提示:

在左边的软件安装选项栏中,选择Server with GUI,在第一次安装时,建议大家把右边软件选项栏中所有软件都选上,等将来大家对这些软件熟悉以后,再根据自己的需要来选装一些软件包。
点击Done返回CentOS操作系统安装配置界面:


选择将操作系统安装在计算机的第一块盘/dev/sda上,并且是由自己来控制CentOS安装后各个分区的大小(系统默认的分区大小并不适合生产环境,本安装实例的Linux操作系统硬盘分区方法,可在生产环境中使用,已经经过多年的生产实践验证!),点击Done按钮,出现以下屏幕提示界面,开始对硬盘进行分区:

点击红色部分的+号,开始配置操作系统的磁盘分区:
第1个磁盘分区是/boot分区,建议大小为20G;

第2个磁盘分区是 分区,建议大小为20G;

第3个磁盘分区是/home 分区,建议大小为40G;

第4个磁盘分区是 var 分区,建议大小为40G;

第5个磁盘分区是swap分区,建议大小为64G;

第6个磁盘分区是/opt 分区,建议大小为40G;

第7个磁盘分区是 tmp 分区,建议大小为20G;

第8个磁盘分区是/data 分区,将剩余的空间都分配给它。

分配结束后,点击Done按钮,出现如下屏幕提示:

确认并接受刚才的分区信息后,返回CentOS操作系统安装配置界面:

接下来点击NETWORAK & HOSTNAME按钮,开始配置服务器上的网络和主机名:

首先采用手工配置网卡IP地址的方法,为ens33分配一个静态IP地址192.168.100.10/24。点击Configure按钮,出现如下提示屏幕:

点击General标签栏,出现如下提示屏幕:

勾选Automatically Connect to
this network when it is available,然后再点击IPv4 Settings标签栏:

在Method选项栏中选择Manual,并点击Add按钮:



按上图为服务器添加IP地址192.168.100.10,子网掩码255.255.255.0,网关设置为0.0.0.0,点击Save按钮保存网络设置,完成了第一块网卡的手动IP地址设置。确保配置完成后,点击ON按钮,启动刚刚完成配置的网卡,确认所有的配置完全正确:

下面将采用DHCP配置方法,为ens34分配一个动态IP地址。选中网卡ens34,并点击滑动按钮,启动网卡ens34:


点击Configure按钮,出现如下提示屏幕:

点击General标签栏,出现如下提示屏幕:

勾选Automatically Connect to this network when it is available,然后再点击Save按钮:

接下来要配置机器名:

按上图输入机器名dbsvr,并点击Apply按钮:

点击Done,返回CentOS操作系统安装配置界面:

接下来开始配置CentOS操作系统的语言支持。点击LANGUAGE SUPPORT按钮,出现如下提示屏幕:

如上图选择所有的中文选项,其他的语言根据你的需要来选择。点击Done按钮返回CentOS操作系统安装配置界面:

至此,完成了CentOS操作系统安装配置,可以点击Begin Installation按钮,开始安装操作系统了:

在CentOS操作系统安装过程中,点击上图中的红色部分,为root用户设置密码:

在红框中输入root用户的密码Passw0(rd,点击Done按钮返回操作系统安装界面:

点击USER CREATION按钮,创建一个普通用户:

如图输入,用户名是student,密码也是Passw0(rd,点击Done按钮返回操作系统安装界面:

耐心等待CentOS操作系统安装,直到出现如下界面:

点击红色部分重启动服务器,出现如下INITIAL SETUP屏幕提示:

点击LICENSE INFORMATION按钮,出现如下软件许可证信息屏幕提示:

勾选I accept the license agreement选项,点击Done按钮,INITIAL SETUP屏幕提示:

点击FINISH CONFIGURATION按钮,稍等片刻,等待服务器完成启动:

至此,你安装完了CentOS 7.6操作系统。
2.4使用root用户登录CentOS
为了进行CentOS操作系统的配置,需要使用超级用户root帐户登录到系统中。按下列图进行操作,使用root用户登录到CentOS操作系统。










2.5 打开一个终端窗口
在图形化界面中,打开一个终端窗口,可以运行操作系统命令和程序。
操作方法是:先用鼠标右键点击工作区,出现一个菜单后,用左键点击Open Terminal菜单条,打开一个终端窗口。


3、为kingbase V9数据库准备文件系统
3.1创建物理卷
服务器上的另外两块硬盘,分别用于保存Kingbase
V9数据库和Kingbase V9数据库的备份。
首先用这两块硬盘创建物理卷。
pvcreate dev/sdb dev/sdc

3.2创建卷组
用刚刚创建的两个物理卷,创建两个卷组:db-vg用于存储kingbase V9数据库;dbbak-vg用于存储kingbase V9数据库的备份。
执行下面的命令创建这两个卷组:
vgcreate db-vg dev/sdb
vgcreate dbbak-vg dev/sdc

vgs

vgdisplay db-vg

vgdisplay dbbak-vg

3.3创建逻辑卷
再刚刚创建的两个物理卷组db-vg和dbbak-vg,分别创建一个逻辑卷:
lvcreate -n lv-db-data -L 600G db-vg
lvcreate -n lv-dbbak-L 600G dbbak-vg

3.4 创建文件系统
为刚刚创建的逻辑卷,创建xfs文件系统:
mkfs.xfs dev/db-vg/lv-db-data

mkfs.xfs dev/dbbak-vg/lv-dbbak

3.5创建挂接文件系统的目录
mkdir data
mkdir /bak
3.6配置启动时自动挂接文件系统
编辑/etc/fstab文件,加入以下两行:
/dev/mapper/dbbak--vg-lv--dbbak/bak xfs defaults 0 0
/dev/mapper/db--vg-lv--db--data/data xfs defaults 0 0
mount -a

df -h

4. 为安装kingbase V9数据库配置CentOS
4.1 关闭防火墙
#停止firewall
systemctl stop firewalld.service
#禁止firewall开机启动
systemctl disable firewalld.service
更好的办法是允许
kingbase V9服务器的端口通过防火墙,而不是把防火墙关掉!
4.2关闭SELinux
getenforce

vi /etc/selinux/config
将以下的行SELINUX=enforcing
修改为
SELINUX=disabled
然后重新启动服务器
reboot
4.3 配置/etc/hosts文件
将kingbase V9服务器的IP和主机名添加到/etc/hosts文件
cat >>/etc/hosts<<EOF
192.168.100.10 dbsvr
EOF
4.4配置/etc/sysctl文件
为root用户和kingbase V9用户,配置打开文件个数的限额、启动进程数的限额:
这里发现一个情况,安装完软件后,会自动去修改一遍sysctl.conf
比如下面#kingbase-set是我脚本里添加的,之后又有一段#add
by kingbase这安装完软件后自动写进去的。
这里要是生产的话,大家注意参数调整
#kingbase-set
kernel.shmmni = 4096
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmax=6594470707
kernel.shmall=1609978
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 = 1048586
#add by kingbase
kernel.sem = 5010 641280 5010 256
kernel.shmall = 2097152
kernel.shmmax = 53687091200
kernel.shmmni = 8192
vm.mmap_min_addr = 65536
vm.dirty_writeback_centisecs = 100
vm.dirty_background_ratio = 10
vm.dirty_ratio = 60
vm.swappiness = 20
vm.min_free_kbytes = 512000
vm.vfs_cache_pressure = 200
fs.aio-max-nr = 1048576
fs.file-max = 76724600
fs.nr_open = 2097152
net.core.netdev_max_backlog = 32768
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.somaxconn = 4096
net.core.wmem_default = 262144
net.core.wmem_max = 4194304
net.ipv4.ip_local_port_range = 9000 65500
net.ipv4.route.gc_timeout = 100
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.tcp_keepalive_probes = 3
net.ipv4.tcp_keepalive_intvl = 30
net.ipv4.tcp_max_syn_backlog = 4096
net.ipv4.tcp_max_tw_buckets = 6000
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 2
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_wmem = 8192 436600 873200
net.ipv4.tcp_rmem= 32768 436600
873200
net.ipv4.tcp_mem = 94500000 91500000 92700000
net.ipv4.tcp_max_orphans = 3276800
参数说明
########For KingbaseES Setting#######
fs.aio-max-nr = 1048576#异步IO请求数目 推荐值是:1048576 其实它等于 1024*1024 也就是 1024K 个
fs.file-max = 6815744#打开的文件句柄的最大数量,防止文件描述符耗尽的问题
fs.nr_open = 20480000# 系统范围内可打开的最大文件数
kernel.core_pattern = core.%e.%p.%t# Core dump 文件名模式
kernel.shmall = 2097152 #共享内存总量 页为单位,内存除以4K所得
kernel.shmmax = 4294967295
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128#SEMMSL: 每个信号集的最大信号数量 SEMMNS:用于控制整个 Linux 系统中信号的最大数 SEMOPM:内核参数用于控制每个 semop 系统调用可以执行的信号操作的数量 SEMMNI :内核参数用于控制整个 Linux 系统中信号集的最大数量
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#套接字发送缓冲区大小的最大值
fs.file-max = 6815744
kernel.watchdog_thresh=30
vm.min_free_kbytes = $(free -k | awk 'NR==2 {printf "%d\n",
int($2 / 200)}')# 预留给 OS 的最小空闲内存
vm.swappiness = 2
vm.overcommit_memory = 0# 表示系统的内存分配策略可以选值为 0,1,2。0:表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。
vm.max_map_count=2000000
4.5配置/etc/limits文件
cat>>/etc/security/limits.conf <<EOF
##########################################
############For KingbaseES Setting########
kingbase soft stack unlimited
kingbase hard stack unlimited
kingbase soft nproc 655360
kingbase hard nproc 1048576
kingbase soft nofile 655360
kingbase hard nofile 1048576
kingbase soft memlock unlimited
kingbase hard memlock unlimited
kingbase soft core unlimited
kingbase hard core unlimited
EOF
4.6 配置/etc/logind文件
cat >> /etc/pam.d/login <<EOF
sessionrequired /lib/security/pam_limits.so
sessionrequired pam_limits.so
EOF
RemoveIPC 参数
systemd-logind 服务中引入的一个特性,是当一个用户退出系统后,会删除所有有关的 IPC 对象,该特性由 /etc/systemd/logind.conf 文件中的 RemoveIPC参数控制,某些操作系统会默认打开,会造成程序信号丢失等问,设置RemoveIPC=no,设置后重启服务:
sed -i 's/\#RemoveIPC\=no/RemoveIPC\=no/g' /etc/systemd/logind.conf
cat /etc/systemd/logind.conf | grep RemoveIPC
systemctl daemon-reload
systemctl status systemd-logind.service
systemctl restart systemd-logind.service
4.7 检查操作系统的参数
sed -i 's/quiet/quiet transparent_hugepage=never numa=off/'
/etc/default/grub
grep quiet/etc/default/grub
grub2-mkconfig -o /boot/grub2/grub.cfg
### 重启后检查是否生效:
cat /sys/kernel/mm/transparent_hugepage/enabled
cat /proc/cmdline
调整 login
/etc/pam.d/login 文件
添加 session required pam_limits.so 是为了确保在用户会话开始时,PAM 会读取并应用 /etc/security/limits.conf 文件中定义的资源限制,这有助于增强系统的安全性和稳定性,防止资源滥用。
5.安装kingbase V9数据库配置用户
5.1 创建安装用户
在安装 KingbaseES 时,安装用户对于安装路径需有“读”、“写”、“执行”的权限。
## 创建安装用户组kingbase
tail -8 /etc/group
groupadd -g 100100 kingbase--查看组 ID 避免重复
## 创建安装用户kingbase
tail -8 /etc/passwd
useradd -u 100100 -g kingbase -m -d /home/kingbase -s /bin/bash
kingbase
echo "kingbaseLHH" | passwd --stdin
kingbase
5.2 创建安装路径
按照前面规划,创建目录并授权。
# mkdir -p /data/KingbaseES/{V9,data,install,arch}
# mkdir -p /install
# chown -R kingbase:kingbase /data/KingbaseES /install
5.3 配置环境变量
su - kingbase
vi .bash_profile
export PATH=/data/KingbaseES/V9/Server/bin:$PATH
export KINGBASE_HOME=/data/KingbaseES/V9
export KINGBASE_DATA=/data/KingbaseES/data
修改字符集为英文
[root@dbsvr~]# more
/etc/locale.conf
LANG="en_US.UTF8"
6、安装 KingbaseES 单机
6.1 安装前准备
通过 sftp 上传 iso 和授权文件到 /install,挂载上传好的 iso 光盘镜像文件到 /mnt
使用 Kingbase 用户拷贝挂载后的安装文件到规划好的install 目录
[root@dbsvr ~]# cd /install/
[root@dbsvr install]# ls
KingbaseES_V009R001C001B0030_Lin64_install.iso
[root@bsvr install]# mount -o loop KingbaseES_V009R001C001B0030_Lin64_install.iso /mnt/
mount: /mnt: WARNING: source write-protected, mounted read-only.
# cp -r /mnt/* /data/KingbaseES/install/
# chown -R kingbase:kingbase /data/KingbaseES/
# su - kingbase
复制授权文件到 install 目录。
[kingbase@dbsvr install]$ ll
-rw-rw-r-- 1 kingbase kingbase 3838 Sep 26 15:13 license_41248_0.dat
dr-xr-xr-x 2 kingbase kingbase91
Sep 26 15:12 setup
-r-xr-xr-x 1 kingbase kingbase 3932 Sep 26 15:12 setup.sh
6.2 开始安装
下面使用命令行的方式安装吧,首先进入安装程序中setup.sh所在目录,以 kingbase 用户执行如下命令:
$ cd /data/KingbaseES/install/
sh setup.sh -i console

连续多次输入回车继续,直到“DO YOU ACCEPT THE TERMS OF THIS LICENSE
AGREEMENT? (Y/N):”输入 Y 回车。

根据安装后数据库服务功能的不同,KingbaseES 可分为完全安装、客户端安装和定制安装三种安装集:
输入 1,或按接受缺省项,选择“完全安装”安装集,系统将安装 KingbaseES 所有组件,跳至 选择授权文件
输入 2,选择“客户端安装”安装集,系统将安装 KingbaseES 的所有客户端工具、编程接口、扩展插件以及命令行可执行二进制文件,跳至
选择安装文件夹
输入 3,选择“定制安装”安装集,可根据需求选择安装所需功能组件,将进入下一步 选择产品功能组件 。

然后选择 install 目录下准备好的 license 文件
选择安装文件夹,此步骤用于选择安装路径。默认安装路径是 /opt/Kingbase/ES/V9,这里选择前面第二章节定义好的 /data/KingbaseES/V9 目录,然后输入 Y 确认,然后需要 5378 MB 空间安装,继续两次回车,等待安装。

首先选择数据库数据目录,默认数据库数据目录为安装目录下的 data 目录,选择前面前面节定义好的 /data/KingbaseES/data 目录,回车,自定义端口 54325 回车

接着,自定义管理员账号与密码,我这里默认选择 system,密码 kingbaseLHH,选择默认字符集编码为:UTF8

数据库区域选择:enUS.UTF-8,默认为 zhCN.UTF-8
默认数据库兼容模式为:ORACLE(可选 PG、MySQL)
默认大小写敏感为:是(可选否)

默认数据块大小为:8k(可选16k、32k)
默认身份认证方法为scram-sha-256(可选scram-sm3,sm4,sm3)

接下来数据库将进行初始化操作,接着回车等待即可。安装完成后回车退出安装程序。

如果想注册数据库服务为系统服务,可以在安装并初始化数据库成功后,执行 root.sh 脚本来注册并启动数据库服务。
===============================================================================
Please Wait
-----------
===============================================================================
Installation Complete
---------------------
Congratulations. KingbaseES V9 has been successfully installed to:
/data/KingbaseES/V9
If you want to register KingbaseES V9 as OS service, please run
/data/KingbaseES/V9/install/script/root.sh
PRESS <ENTER> TO EXIT THE INSTALLER:
Complete.
[kingbase@dbsvr install]$ exit
logout
[root@dbsvr ~]# /data/KingbaseES/V9/install/script/root.sh
Starting KingbaseES V9:
waiting for server to start.... done
server started
KingbaseES V9 started successfully
6.3 静默参数配置
静默安装模式下,安装程序通过读取配置文件来安装数据库,安装包iso 文件挂载后, 使用 Kingbase 用户拷贝挂载后的安装文件到规划好的 install 目录。
[root@dbsvr ~]# cd /install/
[root@dbsvr install]# ls
KingbaseES_V009R001C001B0030_Lin64_install.iso
[root@bsvr install]#
mount -o loop KingbaseES_V009R001C001B0030_Lin64_install.iso /mnt/
mount: /mnt: WARNING: source write-protected, mounted read-only.
# cp -r /mnt/* /data/KingbaseES/install/
# chown -R kingbase:kingbase /data/KingbaseES/
# su - kingbase
复制授权文件到 install 目录
[kingbase@dbsvr install]$ ll
-rw-rw-r-- 1 kingbase kingbase 3838 Sep 26 15:53 license_41248_0.dat
setup 目录下已存在silent.cfg 模板文件cp silent.cfg1 模板文件,需要根据实际安装机器的情况修改参数值,修改的内容也比较简单,填写 licence 文件位置,数据存储目录以及 system 用户密码,确认密码,
# more /data/KingbaseES/install/setup/silent1.cfg
#授权文件位置
KB_LICENSE_PATH=/data/KingbaseES/install/license_41248_0.dat
#是否全部安装,选项有Full,
Client, Custom
CHOSEN_INSTALL_SET=Full
#安装的组件,有SERVER,
KSTUDIO, KDTS, INTERFACE, DEPLOY, KINGBASEHA
CHOSEN_FEATURE_LIST=SERVER,KSTUDIO,KDTS,INTERFACE,DEPLOY,KINGBASEHA
#安装软件目录
USER_INSTALL_DIR=/data/KingbaseES/V9
#初始化数据库文件位置
USER_SELECTED_DATA_FOLDER=/data/KingbaseES/V9/data
#端口
DB_PORT=54325
#管理员用户名
DB_USER=system
#这里要要输入两次口令
DB_PASS=kingbaseLHH
DB_PASS2=kingbaseLHH
#选项有UTF8, GBK,
GB18030, GB2312, default
ENCODING_PARAM=UTF8
LOCALE_PARAM=zh_CN.UTF-8
#选择数据库模式,有三种可选ORACLE,
PG, MySQL
DATABASE_MODE_PARAM=ORACLE
#是否区分大小写
CASE_SENSITIVE_PARAM=YES
#存储块大小 8/16/32K可选
BLOCK_SIZE_PARAM=8k
AUTHENTICATION_METHOD_PARAM=scram-sha-256
EOF
chmod 777 /data/KingbaseES/install/setup/silent1.cfg
6.4 静默开始安装
echo "**********************installing**********************"
su - kingbase -c "/data/KingbaseES/install/setup.sh -i silent -f /data/KingbaseES/install/setup/silent1.cfg
"
echo "finish! please use root account exec
/data/KingbaseES/V9/install/script/root.sh"
记得看提示,最后要执行root.sh,注册系统服务,并启动数据库
[root@dbsvr Logs]# /data/KingbaseES/V9/install/script/root.sh
Starting KingbaseES V9:
waiting for server to start.... done
server started
KingbaseES V9 started successfully
[root@dbsvr Logs]#
6.5 安装后检查,查看 Kingbase 相关进程
[kingbase@dbsvr~]$ ps -aux|grep
kingbase|grep -v grep|awk '{print $11,$12,$13,$14}'| grep -v awk| grep -v bash
| grep -v aux| grep -v su
/data/KingbaseES/V9/KESRealPro/V009R001C001B0030/Server/bin/kingbase -D
/data/KingbaseES/data
kingbase: logger
kingbase: checkpointer
kingbase: background writer
kingbase: walwriter
kingbase: autovacuum launcher
kingbase: stats collector
kingbase: kwr collector
kingbase: ksh writer
kingbase: ksh collector
kingbase: logical replication launcher
7、测试登陆KingbaseES数据库
[kingbase@dbsvr:/home/kingbase]$ ksql
-p 54325 -U system kingbase
Password for user system:
Type "help" for help.
kingbase=# \l
List
of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+--------+----------+-------------+-------------+-------------------
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 rows)
7.1 测试管理
select * from sys_user;
--创建普通用户
CREATE USER test WITH PASSWORD 'kingbaseLHH';
--授予权限
ALTER USER test CREATEROLE;
ALTER USER test CREATEDB;
--修改管理员密码
ALTER USER system PASSWORD 'KingbaseLHH';
--修改普通用户密码
ALTER USER test PASSWORD 'KingbaseLHH';
7.2 启停数据库
通过 reboot 重启操作系统,检查上面步骤配置成的服务是否可以开机自启动。
# --root 用户以下命令均可以执行
# systemctl statuskingbased.service
# systemctl stopkingbased.service
# systemctl startkingbased.service
# systemctl restart kingbased.service
# systemctl restart kingbase
# systemctl stopkingbase
# systemctl statuskingbase
# service kingbase status
# service kingbase restart
[root@dbsvr ~]# systemctl
list-dependencies | grep kingbase
● ├─kingbased.service
●├─kingbased.service
[root@dbsvr ~]#
[root@dbsvr ~]# systemctl restart kingbase
[root@dbsvr ~]#
[root@dbsvr ~]# systemctl status kingbase
● kingbased.service - LSB: Start and stop the kingbase server
Loaded: loaded
(/etc/rc.d/init.d/kingbased; bad; vendor preset: disabled)
Active: active (exited) since Mon
2024-09-26 00:00:52 CST; 11s ago
Docs:
man:systemd-sysv-generator(8)
Process: 14150
ExecStop=/etc/rc.d/init.d/kingbased stop (code=exited, status=0/SUCCESS)
Process: 14180 ExecStart=/etc/rc.d/init.d/kingbased
start (code=exited, status=0/SUCCESS)
7.3 数据库的状态
[root@dbsvr ~]# service kingbase
status
当然还可以使用 kingbase 用户 sys_ctl 命令管理启停。
sys_ctl status -D $KINGBASE_DATA
sys_ctl stop-D $KINGBASE_DATA
sys_ctl start -D $KINGBASE_DATA
sys_ctl restart -D $KINGBASE_DATA
[kingbase@dbsvr ~]$ find
/data/KingbaseES/ -name sys_ctl
/data/KingbaseES/V9/KESRealPro/V009R001C001B0030/Server/bin/sys_ctl
[kingbase@dbsvr ~]$ echo $KINGBASE_DATA
/data/KingbaseES/data
[kingbase@dbsvr ~]$ sys_ctl -D
$KINGBASE_DATA status
sys_ctl: server is running (PID: 14214)
/data/KingbaseES/V9/KESRealPro/V009R001C001B0030/Server/bin/kingbase
"-D" "/data/KingbaseES/data"
注:sys_ctl stop默认停库选项是 -m fast,断开客户端连接、回滚事务、正常关闭数据库,相当于 Oracle 中的 shutdown immediate
-m smart 选项则是等待所有连接断开后才关闭。
-m immediate 选项则是立即关闭,下次启动要进行恢复,相当于 Oracle 的 shutdown abort。
7.4 使用 kingbase 启动实例
如果要启动实例,也可以使用 kingbase -D /data/KingbaseES/data
kingbase -D $KINGBASE_DATA >log1 2>&1 &
[kingbase@dbsvr ~]$ which kingbase
/data/KingbaseES/V9/Server/bin/kingbase
[kingbase@dbsvr ~]$ sys_ctl stop -D $KINGBASE_DATA
waiting for server to shut down.... done
server stopped
[kingbase@dbsvr ~]$ kingbase -D
$KINGBASE_DATA >log1 2>&1 &
[1] 18178
[kingbase@dbsvr ~]$ sys_ctl status -D $KINGBASE_DATA
sys_ctl: server is running (PID: 18178)
/data/KingbaseES/V9/KESRealPro/V009R001C001B0030/Server/bin/kingbase
"-D" "/data/KingbaseES/data"
7.5 图形化管理工具——KStudio


8、卸载 KES
先移除开机自动服务,接着卸载 KES 数据库。
[kingbase@dbsvr script]$ ll /data/KingbaseES/V9/install/script/rootuninstall.sh -rwxr-x--- 1 kingbase kingbase 627 Sep 26 21:02 /data/KingbaseES/V9/install/script/rootuninstall.sh
##### root 用户执行rootuninstall.sh 脚本移除开机自动服务 [root@dbsvr ~]#
sh /data/KingbaseES/V9/install/script/rootuninstall.sh
#####以 kingbase 用户执行 bash
/data/KingbaseES/V9/Uninstall/Uninstaller -i console。
[kingbase@dbsvr Uninstall]$ bash
/data/KingbaseES/V9/Uninstall/Uninstaller -i console
[kingbase@dbsvr Uninstall]$ echo
$?
0
##### echo $? 返回 0 则说明卸载成功
#####然后删除此目录即可 /data/KingbaseES




