VM上的操作
将虚拟机上的快照还原到[初始化安装Linux]上
在快照管理器的界面还能看到对于该快照的描述
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"
登录虚拟机后,切换到"/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
这里会显示有三种安装类型
客户端安装会安装一些客户端工具,如navicat类似的图形化工具,
上图就是定制安装的选项
数据库开发管理工具就是如同navicat那样的图形化管理工具
高可用性组件是涉及集群的时候高可用性的组件,保证一个节点挂掉了之后,另外一个节点如何做出如启用这类的响应
数据库部署工具是部署集群的一个工具
当然我们可以选择完全安装
授权文件就是选择一个license(许可证),这里应该是365而不是368
和Windows上类似,我们这是需要输入一个安装路径,而缺省安装文件夹就代表的是默认安装文件夹,但我们需要安装在刚刚我们创建并修改的权限的目录下
按下回车键就可以安装kingbase这个产品的安装
因为只是对kingbase进行安装,还需要对kingbase这个数据库进行初始化,就像装电子门锁那样,装在门上后还要对其进行初始化
根据提示,我们要选择存放数据的目录,依然选择我们刚刚创建并更改好权限的那一个目录,即/data
数据库也是一个服务,所以在系统中也需要一个端口号,这里可以默认填写54321
数据库管理员我们可以默认设置为system,而密码可以设置为kingbase
数据库字符集我们可以选择可以识别到中文的UTF8,数据库的兼容模式即表示需要兼容哪种数据库的数据字典的视图
因为是事务性的一个系统,所以我们只需要8k的存储块即可
安装完成后,将会提示需要用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用户下,打开所有程序中的系统工具,存放着数据库部署工具等
方法2
查看服务器上的端口号
[kingbase@node1 KES-V8R6C7B23-INSTALL]$ netstat -anpt
查看kingbase的状态
root用于管理kingbase
systemctl
[root@node1 ~]# systemctl status kingbase
[root@node1 ~]# systemctl status kingbase8d.service
service
[root@node1 ~]# service kingbase8d status
kingbase用户管理kingbase
使用金仓sys_ctl命令管理KES服务的
sys_ctl这条命令在"/KingbaseES/V8/Server/bin"下存放的
[kingbase@node1 bin]$ ./sys_ctl --help
这条命令可以查看在使用sys_ctl的帮助
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
剩下的内容与初次安装时的过程是一致的