文章目錄
- 前言
- 一、安裝準備
- 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