热衷于分享各种干货知识,大家有想看或者想学的可以评论区留言,秉承着“开源知识来源于互联网,回归于互联网”的理念,分享一些日常工作中能用到或者比较重要的内容,希望大家能够喜欢,不足之处请大家多提宝贵地意见,我们一起提升,守住自己的饭碗。
一、安装前准备
1、下载需要的安装包
安装文件可以从官网获取,安装脚本可以从我的网盘下载
链接: https://pan.baidu.com/s/1APMgTGnSsw9t9ZQMKUKkpg
提取码: e43u


[root@postgresql ~]# chmod +x kingbase_install.sh
[root@postgresql ~]# sh -x kingbase_install.sh
二、过程截图


三、脚本分享
cat kingbase_install.sh
#!/bin/bash
# 安装包和授权文件
echo "-----------------创建所需目录及用户并上传安装包----------------------------"
# 获取当前所在目录位置
current_dir=$(pwd)
echo "当前所在目录位置: $current_dir"
# 目标路径
target_dir="/iso"
# 检查目标路径是否存在,如果不存在则创建
if[!-d "$target_dir"];then
mkdir -p "$target_dir"
echo "已创建目录: $target_dir"
fi
# 移动当前目录下的所有文件到目标路径
mv $current_dir/* $target_dir
echo "已将当前目录下所有文件移动至 $target_dir"
KINGBASE_ISO="/iso/KingbaseES_V009R001C001B0030_Lin64_install.iso"
LICENSE_FILE="/iso/license_39892_0.dat"
INSTALL_DIR="/opt/Kingbase/ES/V9"
# 设置主机名
hostnamectl --static set-hostname kingbaseV9
#bash
# 关闭防火墙和selinux
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
# 配置内核参数
cat <<EOF >> /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
EOF
sysctl -p
# 修改资源使用参数
cat <<EOF >> /etc/security/limits.conf
* hard nofile 65535
* soft nproc 65536
* hard nproc 65535
* soft core unlimited
* hard core unlimited
EOF
# 修改RemoveIPC 参数
sed -i 's/^#\(RemoveIPC=\).*/\1no/' /etc/systemd/logind.conf
systemctl daemon-reload
systemctl restart systemd-logind.service
# 创建安装用户
useradd -m kingbase
echo "kingbase" | passwd --stdin kingbase
# 创建安装目录
mkdir -p $INSTALL_DIR
mkdir -p $INSTALL_DIR/data
# 挂载安装包并复制文件
mkdir -p /iso
mount $KINGBASE_ISO /mnt
cp -r /mnt/* $INSTALL_DIR/
chown -R kingbase.kingbase $INSTALL_DIR
chmod -R 755 $INSTALL_DIR
# 安装相关依赖包
cd /etc/yum.repos.d/
rm -rf ./*
cat >> /etc/yum.repos.d/centos.repo <<-EOF
[centos]
name=oracle
baseurl=file:///mnt
enabled=1
gpgcheck=0
EOF
cd
mount /dev/sr0 /mnt
yum clean all|wc -l
yum makecache
yum -y install mkfontscale fontconfig expect
# 上传授权文件
cp $LICENSE_FILE $INSTALL_DIR/
chown -R kingbase.kingbase $INSTALL_DIR/license_39892_0.dat
# 设置操作系统的语言
export LANG=zh_CN.UTF-8
# 编辑配置文件
chown -R kingbase.kingbase /opt
su - kingbase <<'EOF'
cd /opt/Kingbase/ES/V9/
cp ./setup/silent.cfg ./install.properties
chown -R kingbase.kingbase install.properties
# 修改 install.properties 文件
sed -i 's#^KB_LICENSE_PATH=.*#KB_LICENSE_PATH=/opt/Kingbase/ES/V9/license_39892_0.dat#' install.properties
sed -i 's#^USER_SELECTED_DATA_FOLDER=.*#USER_SELECTED_DATA_FOLDER=/opt/Kingbase/ES/V9/data#' install.properties
sed -i 's#^DB_PASS=.*#DB_PASS=Zhh@123456#' install.properties
sed -i 's#^DB_PASS2=.*#DB_PASS2=Zhh@123456#' install.properties
EOF
# 安装 Kingbase
su - kingbase <<'EOF'
cd /opt/Kingbase/ES/V9/
./setup.sh -i silent -f /opt/Kingbase/ES/V9/install.properties
EOF
# 注册服务
/opt/Kingbase/ES/V9/KESRealPro/V009R001C001B0030/install/script/root.sh
# 添加环境变量
su - kingbase <<'EOF'
echo 'export PATH=/opt/Kingbase/ES/V9/KESRealPro/V009R001C001B0030/Server/bin:$PATH'>>~/.bash_profile
echo 'export KINGBASE_DATA=/opt/Kingbase/ES/V9/data'>>~/.bash_profile
source ~/.bash_profile
EOF
# 验证登录
su - kingbase <<'EOF'
/usr/bin/expect <<'EOF'
spawn ksql -p 54321-U system test -c "select version();"
expect {
"Password for user system:"{ send "Zhh@123456\r"; exp_continue }
eof
}
EOF
echo "Kingbase V9 已成功安装并配置完毕。"
四、总结
安装脚本主要有4个阶段,分别是基础环境的准备、操作系统层面的优化、安装包的准备和数据库的安装。此脚本操作系统安装环境为centos7.9,其他操作系统大家可以进行测试。
一键安装脚本主要是为了方便我们能够快速安装数据库服务,如果是第一次安装或者新接触kingbase建议先进行手动的安装,搞懂每一条命令的含义。
可参考此文章:国产之光KingbaseV9静默安装指南
当然也可以上官网下载全面的资料进行学习。
文中的概念来源于互联网,如有侵权,请联系我删除。
欢迎关注公众号:小周的数据库进阶之路,一起交流数据库、中间件和云计算等技术。如果觉得读完本文有收获,可以转发给其他朋友,大家一起学习进步!感兴趣的朋友可以加我微信,拉您进群与业界的大佬们一起交流学习。
文章转载自小周的数据库进阶之路,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




