文章目录
- 前言
- 一、安装准备
-
- [1.1 部署方案规划](#1.1 部署方案规划)
- [1.2 SELINUX、防火墙状态检查](#1.2 SELINUX、防火墙状态检查)
- [1.3 操作系统时间检查](#1.3 操作系统时间检查)
- [1.4 创建用户及密码](#1.4 创建用户及密码)
- [1.5 目录创建](#1.5 目录创建)
- [1.6 操作系统参数配置](#1.6 操作系统参数配置)
-
- [1.6.1 配置limits.conf文件](#1.6.1 配置limits.conf文件)
- 二、安装
-
- [2.1 上传安装包以及license授权文件](#2.1 上传安装包以及license授权文件)
- [2.2 拷贝安装文件](#2.2 拷贝安装文件)
- [2.3 命令行方式安装](#2.3 命令行方式安装)
-
- 2.3.1简介
- [2.3.2 许可协议](#2.3.2 许可协议)
- [2.3.3 选择安装集](#2.3.3 选择安装集)
- [2.3.4 *选择授权文件](#2.3.4 *选择授权文件)
- [2.3.5 *选择安装路径](#2.3.5 *选择安装路径)
- [2.3.6 预安装摘要](#2.3.6 预安装摘要)
- [2.3.7 正在安装](#2.3.7 正在安装)
- [2.3.8 *初始化数据目录](#2.3.8 *初始化数据目录)
- [2.3.8 初始化完成](#2.3.8 初始化完成)
- [2.3.9 执行root.sh脚本](#2.3.9 执行root.sh脚本)
- [2.4 安装postgis扩展](#2.4 安装postgis扩展)
-
- [2.4.1 安装postgis](#2.4.1 安装postgis)
- [2.4.2 验证](#2.4.2 验证)
- [2.4.2 食用](#2.4.2 食用)
- [3. 启动与停止数据库](#3. 启动与停止数据库)
- [4. 卸载数据库](#4. 卸载数据库)
- [5. 数据库备份和恢复](#5. 数据库备份和恢复)
-
- [5.1 全量备份](#5.1 全量备份)
- [5.2 恢复](#5.2 恢复)
- 踩坑
-
- [1. ./ksql可以执行 ksql无法运行](#1. ./ksql可以执行 ksql无法运行)
- [2. 本地免密登录](#2. 本地免密登录)
前言
安装人大金仓kingbaseV8R6实战。
相关安装包下载,GO!
官网地址 https://www.kingbase.com.cn/download.html
一、安装准备
1.1 部署方案规划
数据库安装用户:kingbase
软件包、License存放目录:/home/kingbase/install
数据库软件安装目录:/home/kingbase/KingbaseES/V8
数据库数据目录:/data/dbdata
数据库备份目录:/data2/dbbackup
数据库模式:PG
数据库端口:54321
数据库用户:SYSTEM
数据库密码:12345678ab
数据库插件: postgis3.1.2
1.2 SELINUX、防火墙状态检查
shell
vi /etc/selinux/config
SELINUX=disabled 注:禁用状态(确认是否可以修改)
service iptables stop
chkconfig iptables off
iptables -L
iptables -F
systemctl stop firewalld 注:关闭防火墙(确认是否可以修改)
systemctl disable firewalld
1.3 操作系统时间检查
shell
date
date -s 注:如不正确,使用data -s修改
1.4 创建用户及密码
注意:安装数据库时,必须使用非root用户安装
shell
useradd -m -U -s /bin/bash kingbase -d /home/kingbase
#注:-m创建用户家目录,-U 创建用户同名用户组
passwd kingbase
#输入密码
1.5 目录创建
注:无论规划放到哪个目录,属主属组必须是安装用户。
(1)数据库安装包及license文件存放目录:
shell
mkdir /home/kingbase/install
chown -R kingbase.kingbase /home/kingbase/install
(2)数据库软件目录:
shell
mkdir -p /home/kingbase/KingbaseES/V8
chown -R kingbase.kingbase /home/kingbase/KingbaseES/V8
(3)数据库数据目录(选择存储空间大的做数据目录,外挂磁盘1目录):
shell
mkdir -p /data/dbdata
chown -R kingbase.kingbase /data/dbdata
(4)数据库备份目录(选择存储空间大的做备份目录,最好不与数据目录在同一盘下,外挂磁盘2目录):
A:物理备份路径
shell
mkdir -p /data2/dbbackup/kbbr_repo
chown -R kingbase.kingbase /data2/dbbackup/kbbr_repo
B:逻辑备份路径
shell
mkdir -p /data2/dbbackup/logical
chown -R kingbase.kingbase /data2/dbbackup/logical
1.6 操作系统参数配置
1.6.1 配置limits.conf文件
shell
#追加写入
vi /etc/security/limits.conf
root soft nofile 655360
root hard nofile 655360
root soft nproc 655360
root hard nproc 655360
root soft memlock 50000000
root hard memlock 50000000
root soft core unlimited
root hard core unlimited
kingbase soft nofile 655360
kingbase hard nofile 655360
kingbase soft nproc 655360
kingbase hard nproc 655360
kingbase soft memlock 50000000
kingbase hard memlock 50000000
kingbase soft core unlimited
kingbase hard core unlimited
附参数详解:
soft ------指当前系统生效的设置值。
hard------指系统中所能设定的最大值。soft的限制不能比hard的限制高。
nofile------指打开文件的最大数目
nproc------指进程的最大数目
core ------指限制内核文件的大小
二、安装
2.1 上传安装包以及license授权文件
使用U盘、光盘、FTP、Xshell等工具将安装包及license.dat文件上传至服务器,可直接放入之前规划好的/home/kingbase/install下。
2.2 拷贝安装文件
root用户执行:
shell
mkdir /home/kingbase/cdrom
cd /home/kingbase/install/
mount KingbaseES_V008R006C004B0021_Lin64_single_install.iso /home/kingbase/cdrom
cd ../cdrom
cp -r * ../install
cd /home/kingbase/install/
chown -R kingbase.kingbase *

2.3 命令行方式安装
shell
su - kingbase
cd /home/kingbase/install
bash setup.sh -i console
2.3.1简介
显示简介信息,提示按enter键继续,进行下一步操作。
2.3.2 许可协议
用户许可协议条款,按照提示enter键继续,直至显示"是否接受此许可协议条款"时,输入Y。
2.3.3 选择安装集
无脑1
2.3.4 *选择授权文件
填写相应授权文件路径(之前规划好的license文件放入/home/kingbase/install目录下),如未找到,则无法继续安装。
2.3.5 *选择安装路径
输入绝对路径,用做软件安装目录(输入之前规划的/home/kingbase/KingbaseES/V8),按enter键继续,提示路径是否正确,无问题后,回车继续安装。
2.3.6 预安装摘要
显示安装信息,如果信息有误,输入"BACK"进行更改,如果信息无误,按enter键继续。
2.3.7 正在安装
正在安装界面,此过程需要等待。
2.3.8 *初始化数据目录
数据目录即data目录,输入文件夹路径(之前规划的/data/dbdata);
输入端口信息port:默认54321;
数据库管理员:默认SYSTEM;
管理员密码:手动输入12345678ab!,确认密码;
字符集编码:默认UTF-8;
数据库模式:1. PG,2. Oracle,默认Oracle兼容模式,选PG。
字符大小写敏感特性:PG必须是YES。
存储块大小默认就可以。
注:数据库模式须提前确认好,初始化完成之后不能通过配置文件修改,只能再次初始化。
2.3.8 初始化完成
初始化完成之后,会提示若将此服务注册为系统服务须执行root.sh脚本,按enter键退出安装程序。
2.3.9 执行root.sh脚本
执行root.sh脚本,是指将kingbase8d服务注册为系统服务,并实现开机自启,此操作必须由root用户执行,安装用户无此权限。执行后会提示启动成功,如未成功,可根据提示,查看相关log日志。
shell
su root
cd /home/kingbase/KingbaseES/V8/install/script
bash ./root.sh

2.4 安装postgis扩展
2.4.1 安装postgis
切回至存放postgis文件夹的目录,执行解压命令,将插件包 bin、lib、share/extension 目录下的文件全部依次拷贝到数据库安装目录的 Server/bin、Server/lib、Server/share/extension。
shell
tar -zxvf postgis-3.1.2_X86_V008R006C008B0020.tar.gz
cd postgis-3.1.2
cp ./bin/* /home/kingbase/KingbaseES/V8/KESRealPro/V008R006C008B0020/Server/bin/
cp ./lib/* /home/kingbase/KingbaseES/V8/KESRealPro/V008R006C008B0020/Server/lib/
cp -r ./share/* /home/kingbase/KingbaseES/V8/KESRealPro/V008R006C008B0020/Server/share/

重启服务
shell
cd /home/kingbase/KingbaseES/V8/Server/bin/
./sys_ctl restart -D /data/dbdata/
2.4.2 验证
dos验证
shell
cd /home/kingbase/KingbaseES/V8/Server/bin/
./ksql -Usystem -dtest
#输入数据库system用户密码
\dx
select * from pg_available_extensions where name like 'post%';
navicat 验证
新建数据库,选择扩展里面有postgis
2.4.2 食用
创建数据库后执行下面sql,🆗!
sql
create extension postgis;
create extension postgis_raster;
create extension postgis_sfcgal;
create extension fuzzystrmatch;
create extension postgis_tiger_geocoder;
set exclude_reserved_words = 'level';
create extension postgis_topology;
create extension address_standardizer;
create extension address_standardizer_data_us;
3. 启动与停止数据库
使用sys_ctl命令,需要kingbase用户在安装目录bin下执行
其中$DBDATA是指Kingbase数据库的数据目录
shell
cd /home/kingbase/KingbaseES/V8/Server/bin/
./sys_ctl stop -D /data/dbdata #停止数据库
./sys_ctl start -D /data/dbdata #启动数据库
./sys_ctl restart -D /data/dbdata #重启数据库
./sys_ctl status -D /data/dbdata #查看数据库状态
4. 卸载数据库
shell
su - kingbase
cd /home/kingbase/KingbaseES/V8/Uninstall
sh Uninstaller
切换到root用户,进入到安装目录下的Scripts目录,执行rootuninstall.sh,(将kingbase8d服务从系统服务中删除),执行后直接返回命令行。
shell
su root
uninstall.sh
5. 数据库备份和恢复
5.1 全量备份
shell
su kingbase
nohup sys_dumpall -Usystem -f full.sql &
5.2 恢复
创建mydb数据库后
shell
su kingbase
cd /home/kingbase/KingbaseES/V8/Server/bin/
nohup ksql -U system -d mydb -h localhost -p 54321 -f /data/package/sql/full.sql &
踩坑
1. ./ksql可以执行 ksql无法运行
配置环境变量
检查用户家目录下/home/kingbase/.bash_profile中是否包含下列代码,不存在则增加。
bash
su kingbase
vi /home/kingbase/.bashrc
# 在/home/kingbase/.bashrc文件末尾增加如下配置。
export PATH=/home/kingbase/KingbaseES/V8/Server/bin:$PATH
export LD_LIBRARY_PATH=/home/kingbase/KingbaseES/V8/Server/lib:$LD_LIBRARY_PATH
export KINGBASE_DATA=/data/dbdata
export KINGBASE_PORT=54321
export KINGBASE_HOME=/home/kingbase/KingbaseES/V8
# 生效
source /home/kingbase/.bashrc
# 测试
ksql -Usystem -dtest
2. 本地免密登录
修改/data/dbdata/sys_hba.conf
bash
# "local" 只能用于UNIX域套接字
local all all trust
# IPv4 本地连接:
host all all 127.0.0.1/32 trust
host all all 0.0.0.0/0 scram-sha-256
# IPv6 本地连接:
host all all ::1/128 trust
host all all ::0/0 scram-sha-256
# 允许具有流复制权限的用户使用localhost进行流复制连接
#local replication all scram-sha-256
#host replication all 127.0.0.1/32 scram-sha-256
#host replication all ::1/128 scram-sha-256
重启服务./sys_ctl restart -D /data/dbdata
