Kingbase--单机部署完整流程

目录

一、安装kingbase数据库

二、修改kingbase.conf参数

[三、数据库自启用(需要先将服务停掉)sys_ctl stop](#三、数据库自启用(需要先将服务停掉)sys_ctl stop)

四、逻辑备份(kingbae用户执行)

五、物理备份


提前准备好安装包并上传到服务器上(安装包根据对应的系统和cpu去官网下载)

一、安装kingbase数据库

1、创建kingbase用户

需要用kingbase用户去执行安装

(root用户执行)

创建用户和用户组

groupadd kingbase

useradd -m -d /home/kingbase kingbase -g kingbase

递归创建安装目录

mkdir -p /home/kingbase/KingbaseES/V9

递归修改属主和属组

chown -R kingbase:kingbase /home/kingbase/

递归修改 /home/kingbase 目录及其下所有文件 / 子目录的权限,为文件 / 目录的属主(所有者)添加读(r)和写(w)权限。

chmod -R u+rw /home/kingbase

挂载软件包

mount -o loop kingbase软件包ios /mnt

非交互式设置kingbase用户密码

echo "kingbase" | passwd --stdin kingbase

切换到kingbase用户

su - kingbase

(kingbase执行)

进入挂载目录/mnt

cd /mnt

执行安装脚本 注意(-i console)是命令行安装,不加这个就是图形化界面安装

./setup.sh -i console

这里需要手动初始化数据库(可自定义data数据目录的路径)

安装好之后设置环境变量(为了方便)或者可以使用 ~/.bashrc这个环境变量

环境变量

vi ~/.bashrc

添加如下

export KINGBASE_DATA=/home/kingbase/KingbaseES/V9/data

export PATH=$PATH:/home/kingbase/KingbaseES/V9/Server/bin

立刻生效加载环境变量

source ~/.bashrc

二、修改kingbase.conf参数

(修改kingbase数据库核心配置文件)

vim /home/kingbase/KingbaseES/V9/data/kingbase.conf

archive_mode = on

archive_command = ''

添加的这三个都是 Kingbase(人大金仓)数据库的安全类扩展插件,主要用于强化数据库的账号安全、密码管理和操作审计能力,是企业级数据库安全管控的核心配置

在 shared_preload_libraries 行最后添加 passwordcheck, identity_pwdexp, sysaudit

passwordcheck:密码强度校验插件

核心作用:强制规范数据库用户的密码复杂度,防止弱密码导致的安全风险。

identity_pwdexp:密码有效期管理插件

核心作用:实现数据库用户密码的生命周期管理,强制密码定期更换。

sysaudit:数据库操作审计插件

核心作用:全面记录数据库的所有关键操作,形成不可篡改的审计日志,满足合规审计要求。

shared_buffers = 1GB

effective_cache_size = 2GB

min_wal_size = 2GB

max_wal_size = 8GB

maintenance_work_mem = 2GB

checkpoint_completion_target = 0.9

checkpoint_timeout = 30min

max_connections=1000

logging_collector = 'on'

log_destination = 'stderr'

log_directory = '../sys_log'

log_filename = 'kingbase-%d.log'

log_truncate_on_rotation = 'on'

log_rotation_age = 1440

log_rotation_size = 500MB

passwordcheck.enable = on 开启密码校验强度

passwordcheck.password_condition_digit = 2 密码中数字最少个数2个

passwordcheck.password_condition_letter = 2 密码中字母最少个数2个

passwordcheck.password_condition_punct = 1 密码中特殊符号最少个数1个

passwordcheck.password_length = 8 密码最小长度8

sys_audlog.error_user_connect_times = 5 登录失败连续次数5

sys_audlog.error_user_connect_interval = 10 登录失败限制时长10分钟

wal_level='replica' WAL日志级别,replica副本级

archive_mode = on 归档模式开启

archive_command = '' 归档命令

重启数据库

sys_ctl restart

数据库优化(上面我们已经添加了优化配置)这个的优化脚本我们就不需要做了

find /home/ -name op*database*sh

sh optimize_database_conf.sh

tail -f /home/kingbase/KingbaseES/V9/data/kingbase.conf

sys_ctl restart

三、数据库自启用

(需要先将服务停掉)
sys_ctl stop

(root用户执行)

进入到脚本目录

cd /home/kingbase/KingbaseES/V9/install/script/

通过下面命令设置开机自启

./startupcfg.sh V9 kingbase /home/kingbase/KingbaseES/V9 /home/kingbase/KingbaseES/V9/data kingbased

注意:有些版本不需要这个,直接执行相应的脚本就可以开机自启

(注意:oracle模式的V8的自启用是执行 ./root.sh)

root@localhost script# ./root.sh

四、逻辑备份

(kingbae用户执行)

切换为kingbase用户

编辑逻辑备份脚本

vim /home/kingbase/KingbaseES/V9/SupTools/kb_backup/backup8.conf

根据实际部署修改

kdb_home="/home/kingbase/KingbaseES/V9"

kdb_bin="/home/kingbase/KingbaseES/V9/Server/bin"

kdbback_dest="/home/kingbase/backup/logical"

kdb_user="system"

password="1234%^&*Ab"

kdb_port="54321"

kdb_host="127.0.0.1"

kdb_list=`{kdb_bin}/ksql -p {kdb_port} -U ${kdb_user} -c "SELECT datname FROM pg_database where datname not in ('template1','template0');" template1 |head -n -2|tail -n +3`

keep_time="31"

LD_LIBRARY_PATH="/home/kingbase/KingbaseES/V9/Server/lib"

#更新system用户密码

ksql -U system test

test=# ALTER USER system WITH PASSWORD '1234%^&*Ab';

或者

sys_encpwd -H \* -P \* -D \* -W '1234%^&*Ab' -U system

验证kingbase用户是否有权限

crontab -l

查看是否添加了kingbase用户

vi /etc/cron.allow

如果出现权限问题,那就切换kingbase用户修改cron.allow权限

chmod 4755 /etc/cron.allow

#kingbase用户执行快速部署脚本

./fast_deploy_backup8.sh

#查看定时任务

crontab -l

#你也可以修改定时任务

crontab -e

五、物理备份

(root执行)

cd /home/kingbase/KingbaseES/V9/Server/bin

./sys_HAscmdd.sh init

./sys_HAscmdd.sh start

(kingbase用户执行)

sys_ctl start (确保数据库是启用的)

cd /home/kingbase/KingbaseES/V9/Server/share/

cp sys_backup.conf ../bin/

cd ../bin/

修改物理备份参数

vim sys_backup.conf

#我自己的修改参数如下

_target_db_style="single"

_one_db_ip="127.0.0.1"

_repo_ip="127.0.0.1"

_repo_path="/home/kingbase/backup/rman"

_single_data_dir="/home/kingbase/KingbaseES/V9/rman"

_single_bin_dir="/home/kingbase/KingbaseES/V9/Server/bin"

cd /home/kingbase/KingbaseES/V9/Server/bin

执行备份初始化脚本

./sys_backup.sh init

启用备份

./sys_backup.sh start

物理备份时报错

kingbase@localhost bin$ ./sys_backup.sh init

ERROR: repo_ip 127.0.0.1 must located in local, and sys_backup.sh be executed at REPO host.

解决:

chmod 4755 /usr/bin/ping

查看备份

/home/kingbase/KingbaseES/V9/Server/bin/sys_rman --config=/home/kingbase/backup/rman/sys_rman.conf --stanza=kingbase info

备份

全量备份

sys_rman --config=/home/kingbase/app/ES/V9/rman/sys_rman.conf --stanza=kingbase --archive-copy --type=full backup

差异备份是diff

增量备份是incr

还原

sys_rman --config=/home/kingbase/app/ES/V9/rman/sys_rman.conf --stanza=kingbase restore

执行不完全恢复至误删除表之前的时间点

kingbase@fgedu81 data$ sys_rman --config=/home/kingbase/app/ES/V9/rman/sys_rman.conf --stanza=kingbase --type=time --target="2025-11-28 17:38:17" --target-action=promote restore

相关推荐
小徐敲java14 小时前
Linux读取串口实时数据
linux·运维·服务器
mN9B2uk1714 小时前
数据库的约束简介
java·数据库·sql
计算机安禾14 小时前
【数据库系统原理】第4篇:关系数据结构的形式化定义:域、笛卡尔积与关系模式
数据结构·数据库·算法
Henry-SAP14 小时前
SAP(ERP) BOM变更实时同步MRP方案
数据库·云原生
AI人工智能+电脑小能手14 小时前
【大白话说Java面试题 第99题】【Mysql篇】第29题:如何选择合适的分布式主键方案?
java·数据库·分布式·mysql·面试
辰_砂14 小时前
国产服务器操作系统编译nginx生成rpm包
运维·nginx
YOLO数据集集合15 小时前
配电站智能运维|变电一次设备识别|高压电气构件目标检测数据集|电力巡检
运维·人工智能·深度学习·yolo·目标检测·视觉检测
keyipatience15 小时前
25.Linux静态动态库全解析
linux·运维·服务器
倔强的石头_15 小时前
kingbase备份与恢复实战(七)—— 恢复演练与验收:从“能恢复”到“可交付预案”
数据库
满昕欢喜15 小时前
第2章 SQL Server 2019服务器管理
数据库·sqlserver