当前位置: 首页 > news >正文

Kingbasepostgis 安装实践

文章目录

  • 前言
  • 一、安装准备
    • 1.1 部署方案规划
    • 1.2 SELINUX、防火墙状态检查
    • 1.3 操作系统时间检查
    • 1.4 创建用户及密码
    • 1.5 目录创建
    • 1.6 操作系统参数配置
      • 1.6.1 配置limits.conf文件
  • 二、安装
    • 2.1 上传安装包以及license授权文件
    • 2.2 拷贝安装文件
    • 2.3 命令行方式安装
      • 2.3.1简介
      • 2.3.2 许可协议
      • 2.3.3 选择安装集
      • 2.3.4 *选择授权文件
      • 2.3.5 *选择安装路径
      • 2.3.6 预安装摘要
      • 2.3.7 正在安装
      • 2.3.8 *初始化数据目录
      • 2.3.8 初始化完成
      • 2.3.9 执行root.sh脚本
    • 2.4 安装postgis扩展
      • 2.4.1 安装postgis
      • 2.4.2 验证
      • 2.4.2 食用
  • 3. 启动与停止数据库
  • 4. 卸载数据库
  • 5. 数据库备份和恢复
    • 5.1 全量备份
    • 5.2 恢复
  • 踩坑
    • 1. ./ksql可以执行 ksql无法运行
    • 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、防火墙状态检查

vi /etc/selinux/config 
SELINUX=disabled			注:禁用状态(确认是否可以修改)
service iptables stop
chkconfig iptables off
iptables -L
iptables -F
systemctl stop firewalld			注:关闭防火墙(确认是否可以修改)
systemctl disable firewalld

1.3 操作系统时间检查

date			
date -s		注:如不正确,使用data -s修改

1.4 创建用户及密码

注意:安装数据库时,必须使用非root用户安装

useradd -m -U -s /bin/bash kingbase -d /home/kingbase
#注:-m创建用户家目录,-U 创建用户同名用户组
passwd kingbase 
#输入密码 

1.5 目录创建

注:无论规划放到哪个目录,属主属组必须是安装用户。
(1)数据库安装包及license文件存放目录:

mkdir /home/kingbase/install	
chown -R kingbase.kingbase /home/kingbase/install

(2)数据库软件目录:

mkdir -p /home/kingbase/KingbaseES/V8	
chown -R kingbase.kingbase /home/kingbase/KingbaseES/V8

(3)数据库数据目录(选择存储空间大的做数据目录,外挂磁盘1目录):

mkdir -p /data/dbdata		
chown -R kingbase.kingbase /data/dbdata

(4)数据库备份目录(选择存储空间大的做备份目录,最好不与数据目录在同一盘下,外挂磁盘2目录):
A:物理备份路径

mkdir -p /data2/dbbackup/kbbr_repo
chown -R kingbase.kingbase /data2/dbbackup/kbbr_repo

B:逻辑备份路径

mkdir -p /data2/dbbackup/logical
chown -R kingbase.kingbase /data2/dbbackup/logical

1.6 操作系统参数配置

1.6.1 配置limits.conf文件

#追加写入
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   	  unlimitedkingbase 	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用户执行:

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 命令行方式安装

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日志。

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。

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/

在这里插入图片描述
重启服务

cd /home/kingbase/KingbaseES/V8/Server/bin/./sys_ctl restart -D /data/dbdata/

2.4.2 验证

dos验证

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,🆗!

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数据库的数据目录

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. 卸载数据库

su - kingbase
cd /home/kingbase/KingbaseES/V8/Uninstall
sh Uninstaller

切换到root用户,进入到安装目录下的Scripts目录,执行rootuninstall.sh,(将kingbase8d服务从系统服务中删除),执行后直接返回命令行。

su root
uninstall.sh

5. 数据库备份和恢复

5.1 全量备份

su kingbase
nohup sys_dumpall -Usystem -f full.sql &

5.2 恢复

创建mydb数据库后

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中是否包含下列代码,不存在则增加。

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

# "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


在这里插入图片描述

http://www.dtcms.com/a/297314.html

相关文章:

  • GaussDB 逻辑备份实操
  • AR眼镜重塑外科手术导航:精准“透视”新突破
  • Elasticsearch-8.17.0 centos7安装
  • 《Angular+Spring Boot:ERP前端采购销售库存协同架构解析》
  • AR与AI融合:医疗诊断的智能新引擎
  • 解决angular与jetty websocket 每30s自动断连的问题
  • 安装pyarrow包
  • 小程序安卓ApK转aab文件详情教程MacM4环境
  • 好看的小程序推广单页HTML源码 可用作导航页
  • 教培机构如何开发自己的证件照拍照采集小程序
  • SaaS型小程序自动化发布解决方案
  • java面试题1
  • 淘宝扭蛋机小程序系统开发:重塑电商互动模式
  • 车身域控制器MCU市场报告:解析行业现状与未来趋势
  • 小程序卡顿到丝滑体验:ZKmall开源商城性能优化与兼容修复实战指南
  • C++ Proactor 与 Reactor 网络编程模式
  • 自动驾驶训练-tub详解
  • 医疗专用电源滤波器:保障设备稳定运行,守护患者安全
  • OAuth 2.0 安全最佳实践 (RFC 9700) password 授权类型已经不推荐使用了,将在计划中移除
  • 图片查重从设计到实现(4)图片向量化存储-Milvus 单机版部署
  • 【lucene】AttributeSource概述
  • 【13】C# 窗体应用WinForm——.NET Framework、WinForm、工程创建、工具箱简介、窗体属性及创建
  • Python Multiprocessing 进程池完全教程:从理论到实战
  • Qlora+DPO微调Qwen2.5
  • Python捕获异常
  • Yolov8/Yolov11实例分割训练自有数据集
  • Springboot项目实现将文件上传到阿里云
  • Python实战:数据处理与可视化的奇妙之旅
  • 双指针算法介绍及使用(下)
  • JavaScript 中 let 在循环中的作用域机制解析