
操作系统:银河麒麟 Kylin V10 x86_64
数据库版本:KingbaseES V008R006C007B0012
安装方式:ISO镜像 Console 控制台安装(必须License证书)
运行用户:kingbase
软件安装路径:/data/kingbase/ES/V8
实例1:data 目录 / 54321 端口
实例2:data2 目录 / 54322 端口(业务测试、备份主实例)
备份方式:KBBR(sys_rman)物理在线全量热备
定时策略:每日凌晨2点自动全量备份,自动保留最新1份、清理旧备份
License状态:365天官方试用授权
vim /etc/security/limits.conf
文件末尾追加:
# kingbase数据库资源限制
kingbase soft nproc 65536
kingbase hard nproc 65536
kingbase soft nofile 65536
kingbase hard nofile 65536
kingbase soft core unlimited
kingbase hard core unlimited
作用:解决数据库并发高、文件句柄不足、进程数不足问题。
2. 创建用户与目录
groupadd kingbase
useradd -m -g kingbase kingbase
mkdir -p /data/kingbase/ES/V8
mkdir -p /data/kingbase/backup
chown -R kingbase:kingbase /data/kingbase
提前上传安装镜像与官方试用证书:
ISO:KingbaseES_V008R006C007B0012_Lin64_install.iso
证书:license.dat(官网365天试用版)
mkdir -p /mnt/kes_iso
mount -o loop /tmp/KingbaseES_V008R006C007B0012_Lin64_install.iso /mnt/kes_iso
该版本无法跳过License,必须填写证书绝对路径
su - kingbase
cd /mnt/kes_iso
sh setup.sh -i console
严格按照以下步骤交互安装:
输入 Y 同意协议
选择 1 完全安装
安装路径填写:/data/kingbase/ES/V8
License路径:填写上传好的 license.dat 绝对路径
是否初始化数据库:输入 N(禁止安装阶段初始化,后续手动建多实例)
等待安装100%完成
安装完成刷新环境变量:
source /data/kingbase/ES/V8/.bashrc
initdb -D /data/kingbase/ES/V8/data -U system -W
sys_ctl -D /data/kingbase/ES/V8/data start
initdb -D /data/kingbase/ES/V8/data2 -U system -W
修改配置文件,修改端口+开放所有IP连接:
vim /data/kingbase/ES/V8/data2/kingbase.conf
port = 54322
listen_addresses = '*'
启动54322实例:
sys_ctl -D /data/kingbase/ES/V8/data2 start -o "-p 54322"
设置数据库密码:
ksql -U system -d test -p 54322
ALTER USER system WITH PASSWORD 'Kingbase@123';
\q
ss -tulnp | grep kingbase
mkdir -p /data/kingbase/backup/kbbr_repo
chown -R kingbase:kingbase /data/kingbase/backup
vim /data/kingbase/ES/V8/data2/kingbase.conf
写入:
archive_mode = on
archive_command = '/data/kingbase/ES/V8/Server/bin/sys_rman --config=/data/kingbase/backup/kbbr_repo/sys_rman.conf --stanza=kingbase archive-push %p'
⚠️ archive_mode 参数必须重启数据库生效,reload无效
sys_ctl -D /data/kingbase/ES/V8/data2 restart
vim /data/kingbase/backup/kbbr_repo/sys_rman.conf
完整配置(保留最新1份全量备份):
[kingbase]
kb1-path=/data/kingbase/ES/V8/data2
kb1-port=54322
kb1-user=system
kb1-host-user=kingbase
[global]
repo1-path=/data/kingbase/backup/kbbr_repo
log-path=/data/kingbase/backup/kbbr_repo/log
log-level-file=info
log-level-console=info
repo1-retention-full=1
repo1-retention-archive=1
sys_rman --config=/data/kingbase/backup/kbbr_repo/sys_rman.conf --stanza=kingbase stanza-create
sys_rman --config=/data/kingbase/backup/kbbr_repo/sys_rman.conf --stanza=kingbase check
sys_rman \
--config=/data/kingbase/backup/kbbr_repo/sys_rman.conf \
--stanza=kingbase \
--archive-copy \
--type=full backup
sys_rman --config=/data/kingbase/backup/kbbr_repo/sys_rman.conf --stanza=kingbase info
sys_rman --config=/data/kingbase/backup/kbbr_repo/sys_rman.conf --stanza=kingbase expire
vim /home/kingbase/kbbr_full_backup.sh
脚本完整内容:
#!/bin/bash
export PATH=$PATH:/data/kingbase/ES/V8/Server/bin
CONFIG="/data/kingbase/backup/kbbr_repo/sys_rman.conf"
STANZA="kingbase"
LOG_FILE="/data/kingbase/backup/kbbr_repo/log/backup_cron.log"
# 全量备份
sys_rman \
--config=${CONFIG} \
--stanza=${STANZA} \
--archive-copy \
--type=full backup >> ${LOG_FILE} 2>&1
# 清理旧备份
sys_rman --config=${CONFIG} --stanza=${STANZA} expire >> ${LOG_FILE} 2>&1
# 校验备份完整性
sys_rman --config=${CONFIG} --stanza=${STANZA} verify >> ${LOG_FILE} 2>&1
# 输出备份列表
sys_rman --config=${CONFIG} --stanza=${STANZA} info >> ${LOG_FILE} 2>&1
chmod +x /home/kingbase/kbbr_full_backup.sh
chown kingbase:kingbase /home/kingbase/kbbr_full_backup.sh
/home/kingbase/kbbr_full_backup.sh
crontab -e
写入:
0 2 * * * /home/kingbase/kbbr_full_backup.sh
查看定时任务:
crontab -l
ksql -U system -d test -p 54322
select get_license_validdays();
select sys_reload_license('/data/kingbase/ES/V8/license.dat');
select get_license_validdays();
# 启停54322实例
sys_ctl -D /data/kingbase/ES/V8/data2 stop
sys_ctl -D /data/kingbase/ES/V8/data2 start -p 54322
# 登录数据库
ksql -U system -d test -p 54322
# 查看备份日志
tail -f /data/kingbase/backup/kbbr_repo/log/backup_cron.log
# 查看KBBR备份集
sys_rman --config=/data/kingbase/backup/kbbr_repo/sys_rman.conf --stanza=kingbase info
本版本Console安装必须License,无法跳过
archive_mode=on 必须重启数据库,reload不生效
所有KBBR备份操作必须kingbase用户执行,禁止root
自动备份策略:每日2点全量备份,只保留最新1份,旧备份自动删除
当前License有效期:365天
多实例核心:每个data目录端口唯一,互不冲突