1-安装kingbase

embedded/2024/11/14 8:20:53/

VM上的操作

将虚拟机上的快照还原到[初始化安装Linux]上

image-20241024205634361

在快照管理器的界面还能看到对于该快照的描述

1、root/kingbase.123
2、2CPU*1;MEM5GB;删打印机;禁止自动挂载DVD
3、/etc/xorg.conf
4、/install上传了以下文件:
一键工具箱说明v20220825.txt
cent54xorg.conf
EXAM_v0.11.sql
jdk-8u321-linux-x64.rpm
KingbaseES_V008R006C005B0023_Lin64_cluster_install.iso
KingbaseES_V008R006C005B0023_Lin64_single_install.iso
license_developer.dat
license_enterprise.dat
MSJH.TTC
optimize_database_conf.sh
optimize_system_conf.sh
5、IP地址:NAT/192.168.40.111/ONBOOT=yes/GATEWAY=192.168.40.2/DNS1=114.114.114.114
6、sshd_config:UseDNS no/ClientAliveInterval 60
7、cp /install/MSJH.TTC /usr/share/fonts/
8、vi /etc/hosts
192.168.40.111 node1
9、# vi /etc/pam.d/system-auth
"pam_pwquality.so"参数修改为"pam_cracklib.so"。
# grep crack /etc/pam.d/system-auth
password    requisite     pam_cracklib.so try_first_pass local_users_only
10、sh /install/optimize_system_conf.sh
11、桌面终端调整为白底黑字,100行x50列,字休monospace12regular允许加粗

将物理机上的虚拟网卡的地址该为和kylin相同的网段,这里kylin的网段是"192.168.40.0"

在菜单栏[编辑]内打开选项卡[虚拟网络编辑器],将子网IP更改为“192.168.40.0”,在NAT设置内将网关IP更改为"192.168.40.1"

image-20241024210042896

image-20241024210109412

登录虚拟机后,切换到"/install"目录下

/install下内容介绍

[root@node1 /]# cd install/
[root@node1 install]# ll
总用量 2932576
-rw-r--r-- 1 root root        990  1月 10  2024 cent54xorg.conf
-rw-r--r-- 1 root root       8769  1月 10  2024 EXAM_v0.11.sql
-rw-r--r-- 1 root root  114957580  1月 10  2024 kdts-plus-bs-20230704.zip
-rw-r--r-- 1 root root 2668978176  1月 10  2024 KingbaseES_V008R006C007B0024_Lin64_install.iso
-rw-r--r-- 1 root root        166  1月 10  2024 KingbaseES_V008R006C007B0024_Lin64_install.md5
-rw-r--r-- 1 root root       3678  1月 10  2024 license_365_developer.dat
-rw-r--r-- 1 root root       3597  1月 10  2024 license_365_enterprise.dat
-rw-r--r-- 1 root root       3676  1月 10  2024 license_90_enterprise.dat
-rw-r--r-- 1 root root   21402152  1月 10  2024 MSJH.TTC
-rw-r--r-- 1 root root  197562076  1月 10  2024 openjdk-20_linux-x64_bin.tar.gz
-rw-r--r-- 1 root root       6981  1月 10  2024 optimize_database_conf.sh
-rw-r--r-- 1 root root       5908  1月 10  2024 optimize_system_conf.sh
-rw-r--r-- 1 root root        633  1月 10  2024 optimize_system_conf.sh说明.txt

[KingbaseES_V008R006C007B0024_Lin64_install.iso]这个文件包含着MD5的校验值

[root@node1 install]# md5sum KingbaseES_V008R006C007B0024_Lin64_install.iso 
9e1a5abbf36b1dd7610337f7aada4145  KingbaseES_V008R006C007B0024_Lin64_install.iso

若是上述命令输出的md5的校验值与kingbase官方一致,说明该文件并没有被篡改

license_365_developer.dat
license_365_enterprise.dat
license_90_enterprise.dat

这里有三个license,developer表示为开发版的,enterprise表示为企业版的,365或90则表示天数

[optimize_database_conf.sh]该sh脚本主要作用是安装kingbase中的操作

配置kingbase所需要的文件权限

执行以下命令

[root@node1 install]# mkdir -p /KingbaseES/V8 /data /backup /archive
[root@node1 install]# chown -R kingbase:kingbase /KingbaseES/
[root@node1 install]# chown -R kingbase:kingbase /backup/
[root@node1 install]# chown -R kingbase:kingbase /archive/
[root@node1 install]# chown -R kingbase:kingbase /data/
[root@node1 install]# chown -R kingbase:kingbase /install/
[root@node1 install]# chmod -R 775 /KingbaseES/
[root@node1 install]# chmod -R 775 /backup/
[root@node1 install]# chmod -R 775 /archive/
[root@node1 install]# chmod -R 775 /install/
[root@node1 install]# chmod -R 700 /data/

/KingbaseES/V8为软件的安装的命令

/data为数据存放的目录,给其700的原因是只有kingbase用于可以使用

/backkup为备份的目录

/archive为归档的目录

剩下的命令就是改变权限的目录,-R表示在/KingbaseES下创建的文件或目录所拥有的权限和/Kingbase的权限是一致的

挂载光盘镜像文件

因为iso镜像文件是不能直接读取的,我们需要将其挂载到一个目录下才能读取镜像文件中的内容

-o loop将告诉系统,将镜像文件或设备以循环的方式挂载

[root@node1 install]# mount -o loop KingbaseES_V008R006C007B0024_Lin64_install.iso /mnt/
mount: /mnt: WARNING: source write-protected, mounted read-only.

但又因为挂载的是"read-only"只读的,且在安装的时候会在当前的目录下产生一个日志

而在mount目录下它是只读,所以需要将其拷贝到另一个目录下

[root@node1 install]# ls /mnt/
setup  setup.sh
[root@node1 install]# mkdir -p /install/KES-V8R6C7B23-INSTALL
[root@node1 install]# cp -r /mnt/* /install/KES-V8R6C7B23-INSTALL/

cp中的-r选项表示递归复制

开始安装

我们需要切换到kingbase用户下,安装kingbase,否则kingbase可能会因为某些权限原因而起不来

做法是,在刚刚拷贝过来的文件内执行setup.sh脚本

[kingbase@node1 KES-V8R6C7B23-INSTALL]$ cd
[kingbase@node1 ~]$ cd /install/KES-V8R6C7B23-INSTALL/
[kingbase@node1 KES-V8R6C7B23-INSTALL]$ ls
setup  setup.sh
[kingbase@node1 KES-V8R6C7B23-INSTALL]$ ./setup.sh

image-20241024215952165

这里会显示有三种安装类型

客户端安装会安装一些客户端工具,如navicat类似的图形化工具,

image-20241024220309034

上图就是定制安装的选项

数据库开发管理工具就是如同navicat那样的图形化管理工具

高可用性组件是涉及集群的时候高可用性的组件,保证一个节点挂掉了之后,另外一个节点如何做出如启用这类的响应

数据库部署工具是部署集群的一个工具

数据库服务器表示该服务器就是作为一个数据库服务器

当然我们可以选择完全安装

image-20241024221158187

授权文件就是选择一个license(许可证),这里应该是365而不是368

image-20241024221805510

和Windows上类似,我们这是需要输入一个安装路径,而缺省安装文件夹就代表的是默认安装文件夹,但我们需要安装在刚刚我们创建并修改的权限的目录下

image-20241024221852963

按下回车键就可以安装kingbase这个产品的安装

因为只是对kingbase进行安装,还需要对kingbase这个数据库进行初始化,就像装电子门锁那样,装在门上后还要对其进行初始化

image-20241024222157776

根据提示,我们要选择存放数据的目录,依然选择我们刚刚创建并更改好权限的那一个目录,即/data

image-20241024222310623

数据库也是一个服务,所以在系统中也需要一个端口号,这里可以默认填写54321

image-20241024222500231

数据库管理员我们可以默认设置为system,而密码可以设置为kingbase

image-20241024222633002

数据库字符集我们可以选择可以识别到中文的UTF8,数据库的兼容模式即表示需要兼容哪种数据库的数据字典的视图

image-20241024223005253

因为是事务性的一个系统,所以我们只需要8k的存储块即可

image-20241024223116926

安装完成后,将会提示需要用root用户执行其所述命令,即执行root.sh那个脚本,其作用是为kingbase注册sys

使得kingbase开机自启

[kingbase@node1 KES-V8R6C7B23-INSTALL]$ su root
密码:
[root@node1 KES-V8R6C7B23-INSTALL]# cd
[root@node1 ~]# /KingbaseES/V8/install/script/root.sh
Starting KingbaseES V8: 
等待服务器进程启动 .... 完成
服务器进程已经启动
KingbaseES V8 started successfully

确认是否安装成功

方法1

在kingbase用户下,打开所有程序中的系统工具,存放着数据库部署工具等

image-20241025131235423

方法2

查看服务器上的端口号

[kingbase@node1 KES-V8R6C7B23-INSTALL]$ netstat -anpt

image-20241025131613574

查看kingbase的状态

root用于管理kingbase

systemctl

[root@node1 ~]# systemctl status kingbase
[root@node1 ~]# systemctl status kingbase8d.service 

image-20241025131916432

service

[root@node1 ~]# service kingbase8d status 

image-20241025132137943

kingbase用户管理kingbase

使用金仓sys_ctl命令管理KES服务的

sys_ctl这条命令在"/KingbaseES/V8/Server/bin"下存放的

[kingbase@node1 bin]$ ./sys_ctl --help
这条命令可以查看在使用sys_ctl的帮助

image-20241025133514617

sys_ctl stop -m,就是指定stop的模式,默认选项是fast

smart,新的客户端是不能连接到数据库的;若是现有客户端不主动终端与服务器的连接,那么数据库是无法关闭的,只有所有的客户端断开连接后,数据库才能正常地关闭

fast,中断已有的连接,拒绝新的连接,回滚事务,正常地关闭数据库,相当于oracle中的shutdown immediate

immediate,不管数据库的状态直接退出,类似与关机,不建议使用这种关闭比模式,相当于oracle中的shutdown abort

使用sys_ctl查看kingbase的状态

[kingbase@node1 bin]$ ./sys_ctl status -D /data
sys_ctl: 正在运行服务器进程(PID: 1391)
/KingbaseES/V8/KESRealPro/V008R006C007B0024/Server/bin/kingbase "-D" "/data"

添加sys_ctl的环境变量

[kingbase@node1 ~]$ vim .bashrc
添加以下内容
EOF
export PATH=/KingbaseES/V8/Server/bin:$PATH
export KINGBASE_DATA=/data
EOF
这里添加/data的环境变量就是方便我们在使用sys_ctl的时候不需要-D来给定数据目录的位置,即解释了sys_ctl -D /data
如果端口号不是54321的话,还要加一个export PORT

加入到PATH(环境变量)后,会自动去搜索该目录下的文件

[kingbase@node1 ~]$ source .bashrc 		//使环境变量生效
[kingbase@node1 ~]$ sys_ctl status
sys_ctl: 正在运行服务器进程(PID: 1391)
/KingbaseES/V8/KESRealPro/V008R006C007B0024/Server/bin/kingbase "-D" "/data"

这时就可以直接使用sys_ctl查看其命令了

卸载KES

卸载开机自启服务

使用root用户执行rootuninstall.sh脚本移除KES开机自启服务

[root@node1 ~]#  find / -name rootuninstall.sh
find: ‘/run/user/1000/gvfs’: 权限不够
/KingbaseES/V8/KESRealPro/V008R006C007B0024/install/script/rootuninstall.sh

卸载KES应用程序

以kingbase用执行/KingbaseES/V8/Uninstall/Uninstaller -i console

[kingbase@node1 ~]$ su kingbase
密码:
[kingbase@node1 ~]$ cd /KingbaseES/V8/Uninstall/
[kingbase@node1 Uninstall]$ ls
icons                        InstData            Uninstaller
InstallScript.iap_xml        plugins             uninstaller.jar
installvariables.properties  removablesList.txt  Uninstaller.lax
[kingbase@node1 Uninstall]$ ./Uninstaller -i console

若是不加-i console即可在图形化界面卸载

当我们删除成功之后,sys_ctl这个命令应该是没有办法使用的

卸载数据库的时候才需要注意

在卸载数据库的时候需要注意并不会卸载数据(/data)下的任何数据,只会删除数据库这个软件,也就是"/KingbaseES/V8/"下的内容

所以我们还需要将/data下的数据给删除

[kingbase@node1 ~]$ cd /data/
[kingbase@node1 data]$ ls 
base                kingbase.opts  sys_hba.conf    sys_replslot   sys_twophase
current_logfiles    sys_aud        sys_ident.conf  sys_serial     SYS_VERSION
global              sys_bulkload   sys_log         sys_snapshots  sys_wal
initdb.conf         sys_commit_ts  sys_logical     sys_stat       sys_xact
kingbase.auto.conf  sys_csnlog     sys_multixact   sys_stat_tmp
kingbase.conf       sys_dynshmem   sys_notify      sys_tblspc
[kingbase@node1 data]$ rm -rf *

重装KES

再次进入到安装目录内,执行setup.sh脚本

[kingbase@node1 install]$ cd KES-V8R6C7B23-INSTALL/
[kingbase@node1 KES-V8R6C7B23-INSTALL]$ ls
setup  setup.sh
[kingbase@node1 KES-V8R6C7B23-INSTALL]$ ./setup.sh -i console

剩下的内容与初次安装时的过程是一致的
ys_multixact sys_stat_tmp
kingbase.conf sys_dynshmem sys_notify sys_tblspc
[kingbase@node1 data]$ rm -rf *


# 重装KES再次进入到安装目录内,执行setup.sh脚本

[kingbase@node1 install]$ cd KES-V8R6C7B23-INSTALL/
[kingbase@node1 KES-V8R6C7B23-INSTALL]$ ls
setup setup.sh
[kingbase@node1 KES-V8R6C7B23-INSTALL]$ ./setup.sh -i console


剩下的内容与初次安装时的过程是一致的

http://www.ppmy.cn/embedded/137451.html

相关文章

Spring Boot编程训练系统:构建与优化

4系统概要设计 4.1概述 本系统采用B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式,是一个适用于Internet环境下的模型结构。只要用户能连上Internet,便可以在任何时间、任何地点使用。系统工作原理图如图4-1所示: 图4-1系统工作原理…

【paper】分布式无人水下航行器围捕智能目标

An Effective Strategy for Distributed Unmanned Underwater Vehicles to Encircle and Capture Intelligent Targets2022.8IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS【Q1 7.5】Mingzhi Chen 上海理工大学 Q1 Background:本文试图解决一个什么样的问题&#xf…

多分类logistic回归分析案例教程

因变量为无序多分类变量,比如研究成人早餐选择的相关因素,早餐种类包括谷物类、燕麦类、复合类,此时因变量有三种结局,而且三种早餐是平等的没有顺序或等级属性,此类回归问题,可以使用多分类Logistic回归进…

【VLANPWN】一款针对VLAN的安全研究和渗透测试工具

关于VLANPWN VLANPWN是一款针对VLAN的安全研究和渗透测试工具,该工具可以帮助广大研究人员通过对VLAN执行渗透测试,来研究和分析目标VLAN的安全状况。该工具专为红队研究人员和安全学习爱好者设计,旨在训练网络工程师提升网络的安全性能&…

CNN中每一层的权重是一样的么?

在卷积神经网络(CNN)中,每一层的权重并不是完全相同的,但在同一层内是共享的。具体来说,CNN的权重共享机制是指:在卷积层中,同一卷积核(filter)在输入图像的不同区域进行…

如何优化Kafka消费者的性能

要优化 Kafka 消费者性能,你可以考虑以下策略: 并行消费:通过增加消费者组中的消费者数量来并行处理更多的消息,从而提升消费速度。 批量消费:配置 fetch.min.bytes 和 fetch.max.wait.ms 参数来控制批量消费的大小和…

CKA认证 | Day2 K8s内部监控与日志

第三章 Kubernetes监控与日志 1、查看集群资源状态 在 Kubernetes 集群中,查看集群资源状态和组件状态是非常重要的操作。以下是一些常用的命令和解释,帮助你更好地管理和监控 Kubernetes 集群。 1.1 查看master组件状态 Kubernetes 的 Master 组件包…

vue配置动态代理

文章目录 vue.config.js添加配置 vue.config.js添加配置 module.exports {devServer: {host: 0.0.0.0,//默认启动端口port: 8080, //代理配置后端的地址proxy: {/rc: {target: http://127.0.0.1:10010, //后端api服务器地址changeOrigin: true, //是否跨域pathRewrite: {^/rc…