暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

kingbase V9金仓KES单机安装最佳实践

黄宏亮数字 2024-09-27
383

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操作系统安装配置界面:

接下来点击INSTALLATION DESTINATION按钮,选择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


文章转载自黄宏亮数字,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论