暂无图片
暂无图片
2
暂无图片
暂无图片
暂无图片

KingBaseES之基于Linux系统的数据库软件安装与卸载指南(单机版)

原创 周波 云和恩墨 2023-03-04
1013

一、安装前的准备

0.安装模式

  KingBaseES的安装模式有:标准版、企业版、专业版、开发版。

1.硬件环境

  KingbaseES V8 支持通用X86_64、龙芯、飞腾、鲲鹏等国产CPU硬件体系架构。
  KingbaseES V8 支持各种主流的Linux操作系统64位发行版本,包括CentOS、Ubuntu、中标麒麟、银河麒麟、统信UOS、Deepin、凝思、中科方德等操作系统。我的安装环境为:X86_64+CentOS 7.6
  CPU硬件体系架构:X86_64

[root@OG1 ~]# uname -m
x86_64

2.软件环境

  Linux操作系统64为发行版:CentOS 7.6

[root@OG1 ~]# cat /etc/redhat-release 
CentOS Linux release 7.6.1810 (Core)

3.安装包准备

  通过地址https://www.kingbase.com.cn/rjcxxz/index.htm下载相应平台的安装包,例如:KingbaseES_V008R006C007B0012_Lin64_install.iso,是一个ISO文件。

# 1.验证下载的安装文件是否完整,可以通过MD5值或SHA1值进行对比,这里选择使用MD5值进行
# 比对

## 官网提供的md5值为
C2A96C299F7843133B87609EE926EED5

## 下载后,在windows平台下生成的md5值如下:
C:\Users\Administrator>certutil -hashfile "D:\Program Files\KingBaseES\KingbaseES_V008R006C007B0012_Lin64_install.iso" md5
MD5 的 D:\Program Files\KingBaseES\KingbaseES_V008R006C007B0012_Lin64_install.iso 哈希:
c2a96c299f7843133b87609ee926eed5
CertUtil: -hashfile 命令成功完成。

## 如果是linux平台可以使用md5sum命令
[root@OG1 ~]# md5sum /KingBaseES/KingbaseES_V008R006C007B0012_Lin64_install.iso 
c2a96c299f7843133b87609ee926eed5  /KingBaseES/KingbaseES_V008R006C007B0012_Lin64_install.iso

## diff命令执行后没有输出,说明MD5值是一样,表明下载的安装包是完整的
[root@OG1 ~]# diff -i <(echo "C2A96C299F7843133B87609EE926EED5") <(echo "c2a96c299f7843133b87609ee926eed5")
[root@OG1 ~]# 


# 2.下载授权文件,在同一个下载界面下载,这里下载企业版的许可证
[kingbase@OG1 /KingBaseES]$ ll license_26556_0.dat 
-rw-r--r-- 1 kingbase kingbase 3529 Nov 18 15:55 license_26556_0.dat

4.配置内核参数

[root@OG1 ~]# vim /etc/sysctl.conf
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

## 加载配置文件,使配置生效
[root@OG1 ~]# sysctl -p

5.配置Linux资源限制

  一般保持系统安装时的默认值即可,这里就不设置了

6.将RemoveIPC设置为no

  在 CentOS 7 的 systemd 中,RemoveIPC 参数用于控制用户在注销时是否释放其所有 IPC(进程间通信)资源。IPC 资源是进程间通信的一种方式,它包括共享内存、消息队列和信号量等,而这些资源在多个进程之间共享。
  默认情况下,当用户注销时,系统会保留其所有 IPC 资源,以便其在下次登录时可以继续使用。然而,在某些情况下,这可能会导致资源耗尽,从而影响系统的性能和稳定性。
  因此,通过设置 RemoveIPC 参数,您可以控制用户在注销时是否释放其所有 IPC 资源。如果将 RemoveIPC 参数设置为 yes,则用户在注销时将释放其所有 IPC 资源,而如果将其设置为 no,则这些资源将保留下来。
  在CentOS7中该参数默认为no,如果该参数为yes需要设置为no,如下:

vim /etc/systemd/logind.conf
[Login]
RemoveIPC=no

systemctl daemon-reload
systemctl restart systemd-logind.service

7.预安装工作

# 1.创建安装用户
[root@OG1 ~]# useradd -m kingbase
[root@OG1 ~]# passwd kingbase
[root@OG1 ~]# id kingbase
uid=1007(kingbase) gid=1007(kingbase) groups=1007(kingbase)

# 2.创建安装目录
[root@OG1 ~]# mkdir -p /KingBaseES/V8
[root@OG1 ~]# chown -R kingbase.kingbase /KingBaseES/

# 3.数据目录
数据目录是KingbaseES中存放数据文件的目录,默认是在安装目录下的data目录。
数据目录不必事先创建。安装过程中会提示指定数据目录,如果目录不存在安装程序会自动创建。

# 4.安装包的挂载与取消
## iso格式的安装程序包需要先挂载才能使用。
[root@OG1 ~]# mkdir /KingBaseES/kbase_mnt
[root@OG1 ~]# mount /KingBaseES/KingbaseES_V008R006C007B0012_Lin64_install.iso /KingBaseES/kbase_mnt/
mount: /dev/loop0 is write-protected, mounting read-onl

二、安装KingBaseES

1.图形化安装

(1)启动安装程序

  支持中文和英文的安装界面,可以通过设置LANG环境变量来控制,LANG=en_US.UTF-8则为英文安装界面,如果LANG=zh_CN.UTF-8则是中文安装界面,这里选择使用英文向导界面进行安装。
  这里使用VMware虚拟机通过图形界面远程安装KingBaseES数据库,需要将显示语言设置为英文,否则图形界面可能出现乱码(可能因为安装环境的原因,如果你也是出现乱码,可以考虑该情况,否则可以跳过)。

# 1.切换到安装用户,并查看LANG环境变量,并设置DISPLAY变量
[root@OG1 /KingBaseES]# su - kingbase
[kingbase@OG1 ~]$ echo $LANG
en_US.UTF-8
## 使图形界面在宿主机上显示
[kingbase@OG1 ~]$ export DISPLAY=10.0.0.1:0.0
# 2.进入安装包挂载目录,并执行安装程序
[kingbase@OG1 ~]$ cd /KingBaseES/kbase_mnt
[kingbase@OG1 /KingBaseES/kbase_mnt]$ sh setup.sh
Now launch installer...
Preparing to install
Extracting the JRE from the installer archive...
Unpacking the JRE...
Extracting the installation resources from the installer archive...
Configuring the installer for this system's environment...
          Verifying JVM........
Launching installer...
(2)欢迎界面,点击【Next】

image.png

(3)接受许可证协议,点击【Next】

image.png

(4)选择安装集。选择完全安装【Full】,然后点击【Next】

image.png

(5)选择授权文件,找到授权文件,并打开,然后点击【Next】

image.png

(6)选择安装路径,然后点击【Next】

image.png

(7)预安装摘要。然后点击【Next】

可以发现完全安装需要的磁盘空间为5GB左右
image.png

(8)开始安装KingBaseES

image.png

(9)初始化数据库:选择数据库数据目录,然后点击【Next】

image.png

(10)设置初始化数据库参数,设置完之后(也可以保持默认选项),然后点击【Next】

image.png

(11)安装完成,点击【Done】,退出安装程序

image.png

(12)执行root.sh脚本

  如果想注册数据库服务为系统服务,您可以在安装并初始化数据库成功后,执行root.sh脚本来注册并启动数据库服务:

# root用户执行如下脚本
[root@OG1 ~]# cd /KingBaseES/V8/install/script/
[root@OG1 /KingBaseES/V8/install/script]# sh root.sh 
Starting KingbaseES V8: 
waiting for server to start.... done
server started
KingbaseES V8 started successfully

## 该脚本成功执行之后会启动KingBaseES数据库服务,并向/home/kingbase/.bashrc配置
## 文件中加上如下环境变量信息,需要手动加载一下,使配置生效
export PATH=/KingBaseES/V8/Server/bin:$PATH

[kingbase@OG1 ~]$ source .bashrc

## 该脚本成功执行之后,会在如下目录下生成一个启动kingbaseES的脚本,在开机时会自动启动数据库
[root@OG1 ~]# ll /etc/rc.d/init.d/kingbase8d 
-rwxr-xr-x 1 root root 3891 Feb 27 23:32 /etc/rc.d/init.d/kingbase8d
### 如果不想KingBaseES开机自启动,执行如下命令:
[root@OG1 ~]# chkconfig   kingbase8d  off
### 后续对于KingBaseES数据库的状态查询、启动、停止可以执行如下命令
systemctl status kingbase8d
systemctl start kingbase8d
systemctl stop kingbase8d
systemctl restart kingbase8d
### 或者
service kingbase8d status 
service kingbase8d start
service kingbase8d stop
service kingbase8d restart


如果想启动或停止数据库服务,进入${安装目录}/Server/bin目录执行如下命令:
# 1.关闭数据库服务
[kingbase@OG1 ~]$ cd /KingBaseES/V8/Server/bin
[kingbase@OG1 /KingBaseES/V8/Server/bin]$ ./sys_ctl stop -m fast -w -D /KingBaseES/V8/data/
waiting for server to shut down.... done
server stopped

# 2.启动数据库服务
[kingbase@OG1 /KingBaseES/V8/Server/bin]$ ./sys_ctl start -w -D /KingBaseES/V8/data/ -l /home/kingbase/startup.log
waiting for server to start.... done
server started
[kingbase@OG1 /KingBaseES/V8/Server/bin]$ more /home/kingbase/startup.log
2023-02-27 22:19:20.494 CST [39652] LOG:  sepapower extension initialized
2023-02-27 22:19:20.498 CST [39652] LOG:  starting KingbaseES V008R006C007B0012 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-46
), 64-bit
2023-02-27 22:19:20.498 CST [39652] LOG:  listening on IPv4 address "0.0.0.0", port 54321
2023-02-27 22:19:20.498 CST [39652] LOG:  listening on IPv6 address "::", port 54321
2023-02-27 22:19:20.499 CST [39652] LOG:  listening on Unix socket "/tmp/.s.KINGBASE.54321"
2023-02-27 22:19:20.541 CST [39652] LOG:  redirecting log output to logging collector process
2023-02-27 22:19:20.541 CST [39652] HINT:  Future log output will appear in directory "sys_log".

三、命令行安装

  安装过程与图形界面大同小异,步骤基本一致。如果想要执行命令行安装,请执行如下命令:

sh setup.sh -i console

四、静默安装

  静默安装模式下,安装程序通过读取配置文件来安装数据库。安装包iso文件挂载后,setup目录下已存在silent.cfg模板文件,您需要根据实际安装机器的情况修改参数值。因为Linux挂载iso目录为只读,需要拷贝setup/silent.cfg文件到另外的目录进行修改。

1.编辑配置文件

[kingbase@OG1 ~]$ cp /KingBaseES/kbase_mnt/setup/silent.cfg .
[kingbase@OG1 ~]$ chmod +w silent.cfg
[kingbase@OG1 ~]$ cat silent.cfg
KB_LICENSE_PATH=/KingBaseES/license_26556_0.dat
CHOSEN_INSTALL_SET=Full
CHOSEN_FEATURE_LIST=SERVER,KSTUDIO,KDTS,INTERFACE,DEPLOY,KINGBASEHA
USER_INSTALL_DIR=/KingBaseES/V8
USER_SELECTED_DATA_FOLDER=
DB_PORT=54321
DB_USER=system
DB_PASS=system123
DB_PASS2=system123
ENCODING_PARAM=UTF8
DATABASE_MODE_PARAM=ORACLE
CASE_SENSITIVE_PARAM=NO
BLOCK_SIZE_PARAM=8k

2.启动安装

[kingbase@OG1 ~]$ /KingBaseES/kbase_mnt/setup.sh -i silent -f /home/kingbase/silent.cfg

然后就等待安装。

五、安装后验证

  安装完成之后,可以使用以下几种方法验证安装的正确性。

# 1.查看安装日志
[kingbase@OG1 /KingBaseES/V8/install/Logs]$ more KingbaseES_V8_Install_02_27_2023_21_46_33.log
Summary
-------

Installation: Successful.

14588 Successes
0 Warnings
0 NonFatalErrors
0 FatalErrors
## 表示安装成功

# 2.连接数据库
[kingbase@OG1 ~]$ ksql -U system -W  -p 54321 -d test
Password: 
ksql (V8.0)
Type "help" for help.
## 查看数据库的版本
test=# select version();
                                                       version                                                        
----------------------------------------------------------------------------------------------------------------------
 KingbaseES V008R006C007B0012 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-46), 64-bit
(1 row)

六、卸载KingBaseES数据库

1.删除数据库服务

  如果在安装后执行root.sh脚本在系统中注册了数据库服务,需要在卸载前执行rootuninstall.sh脚本删除已注册的数据库服务。具体步骤如下:

# 1.以root用户运行${安装目录}/install/script/rootuninstall.sh 脚本
[root@OG1 /KingBaseES/V8/install/script]# sh rootuninstall.sh 

2.图形化卸载

# 1.定义DISPLAY环境变量(通过xshell远程卸载)
[root@OG1 ~]# export DISPLAY=10.0.0.1:0.0

# 2.启动卸载程序。位于安装目录下的Uninstall子目录中
[root@OG1 /KingBaseES/V8/Uninstall]# sh Uninstaller -i swing
(1)在维护模式中选择卸载产品,然后点击【Next】

image.png

(2)确认卸载,点击【Next】

image.png

(3)开始卸载,完成之后,点击【Done】退出卸载程序。

image.png

3.控制台卸载

  如果想要使用控制台卸载执行如下命令

sh Uninstaller -i console

4.静默卸载

  如果想使用静默卸载数据库,可以执行如下命令

sh Uninstaller -i silent

  如果是通过静默安装方式安装的,可以不加-i参数,否则必须附加-i参数。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论