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.pswp.cn/diannao/92796.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/92796.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

移动端设备能部署的llm

mlc-llm 内置RedPajama hf示例模型 TheBloke/Mistral-7B-Instruct-v0.2-GGUF https://github.com/mlc-ai/mlc-llm/tree/main llama.cpp https://github.com/ggml-org/llama.cpp reference --- MLC-LLM:大模型如何部署到浏览器 / 手机?完整流程复现…

Ubuntu硬盘挂载

一、在 Ubuntu 中,你可以用以下命令快速查看 所有已连接但尚未挂载的硬盘和分区:lsblk -o NAME,SIZE,FSTYPE,MOUNTPOINT,UUID输出中 MOUNTPOINT 为空的行,就是 未挂载的分区。sda ├─sda1 500M ext4 /boot ├─sda2 1.8T ntfs └─sda3 …

JavaScript -Socket5代理使用

axios 安装两个包 socks-proxy-agent,axios const { SocksProxyAgent } require(socks-proxy-agent); const axios require(axios);const socks5Axios axios.create();const socks5 () > {const socks5Agent new SocksProxyAgent("socks5://112.194.8…

[特殊字符] 从数据库无法访问到成功修复崩溃表:一次 MySQL 故障排查实录

一次典型的 MySQL 故障排查与修复全过程,涵盖登录失败、表崩溃、innodb_force_recovery 救援、坏表剔除与数据恢复等关键操作。一、问题背景某业务系统运行多年,数据库使用的是 MySQL 8.0.18,近期在一次服务器重启后,发现无法正常…

【Agent】API Reference Manual(API 参考手册)

https://github.com/Intelligent-Internet/CommonGround/blob/main/docs/framework/03-api-reference.md 以下是这份 API Reference Manual(API 参考手册) 的完整中文翻译: API 参考手册 版本:0.1 目录 概览 1.1 API 目的 1.2 通信协议与核心概念 HTTP API 2.1 POST /se…

LeetCode Hot 100 全排列

给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。示例 1:输入:nums [1,2,3] 输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]示例 2:输入:nums [0,1]…

AI大模型如何有效识别和纠正数据中的偏见?

当下,人工智能大模型已成为推动各行业发展的关键力量,广泛应用于自然语言处理、图像识别、医疗诊断、金融风控等领域,为人们的生活和工作带来了诸多便利。然而,随着其应用的不断深入,数据偏见问题逐渐浮出水面&#xf…

如何通过内网穿透,访问公司内部服务器?

“凌晨2点,销售总监王姐在机场候机时突然接到客户电话——对方要求立即查看产品库存数据。她慌忙翻出笔记本电脑,却发现公司内网数据库没有公网IP,VPN连接又卡在验证环节……这样的场景,是否让你想起某个手忙脚乱的时刻&#xff1…

12. isaacsim4.2教程-ROS 导航

1. Teleport 示例 ROS 服务的作用: 提供了一种同步、请求-响应的通信方式,用于执行那些需要即时获取结果或状态反馈的一次性操作或查询。 Teleport 服务在 ROS 仿真(尤其是 Gazebo)和某些简单机器人控制中扮演着瞬移机器人或对象…

DeepSpeed-FastGen:通过 MII 和 DeepSpeed-Inference 实现大语言模型的高吞吐文本生成

温馨提示: 本篇文章已同步至"AI专题精讲" DeepSpeed-FastGen:通过 MII 和 DeepSpeed-Inference 实现大语言模型的高吞吐文本生成 摘要 随着大语言模型(LLM)被广泛应用,其部署与扩展变得至关重要&#xff0…

操作系统:操作系统的结构(Structures of Operating System)

目录 简单结构(Simple Structure) 整体式结构(Monolithic Structure) 什么是 Kernel(内核)? 层次结构(Layered Structure) 微内核结构(Microkernel&#x…

Python柱状图

1.各国GDP柱状图2.各国GDP时间线柱状图

FastGPT:企业级智能问答系统,让知识库触手可及

在信息爆炸的时代,企业如何高效管理和利用海量知识?传统搜索和文档库已难以满足需求。FastGPT正成为企业构建智能知识核心的首选。一、FastGPT:不止于问答的智能知识引擎FastGPT 颠覆了传统知识库的局限,其核心优势在于&#xff1…

探索 MyBatis-Plus

引言在当今的 Java 开发领域,数据库操作是一个至关重要的环节。MyBatis 作为一款优秀的持久层框架,已经被广泛应用。而 MyBatis-Plus 则是在 MyBatis 基础上进行增强的工具,它简化了开发流程,提高了开发效率。本文将详细介绍 MyBa…

Hive【安装 01】hive-3.1.2版本安装配置(含 mysql-connector-java-5.1.47.jar 网盘资源)

我使用的安装文件是 apache-hive-3.1.2-bin.tar.gz ,以下内容均以此版本进行说明。 以下环境测试安装成功: openEuler 22.03 (LTS-SP1)系统 MySQL-8.0.40 1.前置条件 MySQL数据库 我安装的是 mysql-5.7.28 版本的,安装方法可参考《Linux环境…

璞致 PZSDR-P101:ZYNQ7100+AD9361 架构软件无线电平台,重塑宽频信号处理范式

璞致电子 PZSDR-P101 软件无线电平台以 "异构计算 宽频射频 工业级可靠性" 为核心设计理念,基于 Xilinx ZYNQ7100 处理器与 ADI AD9361 射频芯片构建,为工程师提供从 70MHz 到 6GHz 的全频段信号处理解决方案。无论是频谱监测、无线通信原型…

【基础】go基础学习笔记

基础及关键字if for switch都支持使用隐形声明(:)来快速声明一个变量,无需在上面一行额外声明,这可以增加代码简洁性,但不太符合其他常规语言的写法,需要习惯一下if for switch都不需要使用(&am…

AI驱动的企业知识管理革新

Baklib:人工智能引领的知识管理平台Baklib 是领先的 AI 驱动知识管理系统,专为企业打造智能化、模块化的知识共享平台。功能覆盖在线帮助中心、内联网、CMS 网站、客户支持系统、视频中心、活动教学平台和客户社区,全面提升组织在知识管理、员…

使用 FFmpeg 实现 RTP 音频传输与播放

🔊 使用 FFmpeg 实现 RTP 音频传输与播放(Ubuntu) 在音视频开发或远程通信场景中,RTP(Real-time Transport Protocol) 是一种常用的实时音频传输协议。本文将介绍如何使用 FFmpeg 在 Ubuntu 上实现从一台主…