目录一、安装kingbase数据库二、修改kingbase.conf参数三、数据库自启用需要先将服务停掉sys_ctl stop四、逻辑备份kingbae用户执行五、物理备份提前准备好安装包并上传到服务器上安装包根据对应的系统和cpu去官网下载一、安装kingbase数据库1、创建kingbase用户需要用kingbase用户去执行安装(root用户执行)创建用户和用户组groupadd kingbaseuseradd -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 urw /home/kingbase挂载软件包mount -o loop kingbase软件包ios /mnt非交互式设置kingbase用户密码echo kingbase | passwd --stdin kingbase切换到kingbase用户su - kingbasekingbase执行进入挂载目录/mntcd /mnt执行安装脚本 注意-i console是命令行安装不加这个就是图形化界面安装./setup.sh -i console这里需要手动初始化数据库可自定义data数据目录的路径安装好之后设置环境变量为了方便或者可以使用 ~/.bashrc这个环境变量环境变量vi ~/.bashrc添加如下export KINGBASE_DATA/home/kingbase/KingbaseES/V9/dataexport PATH$PATH:/home/kingbase/KingbaseES/V9/Server/bin立刻生效加载环境变量source ~/.bashrc二、修改kingbase.conf参数修改kingbase数据库核心配置文件vim /home/kingbase/KingbaseES/V9/data/kingbase.confarchive_mode onarchive_command 添加的这三个都是 Kingbase人大金仓数据库的安全类扩展插件主要用于强化数据库的账号安全、密码管理和操作审计能力是企业级数据库安全管控的核心配置在 shared_preload_libraries 行最后添加 passwordcheck, identity_pwdexp, sysauditpasswordcheck密码强度校验插件核心作用强制规范数据库用户的密码复杂度防止弱密码导致的安全风险。identity_pwdexp密码有效期管理插件核心作用实现数据库用户密码的生命周期管理强制密码定期更换。sysaudit数据库操作审计插件核心作用全面记录数据库的所有关键操作形成不可篡改的审计日志满足合规审计要求。shared_buffers 1GBeffective_cache_size 2GBmin_wal_size 2GBmax_wal_size 8GBmaintenance_work_mem 2GBcheckpoint_completion_target 0.9checkpoint_timeout 30minmax_connections1000logging_collector onlog_destination stderrlog_directory ../sys_loglog_filename kingbase-%d.loglog_truncate_on_rotation onlog_rotation_age 1440log_rotation_size 500MBpasswordcheck.enable on 开启密码校验强度passwordcheck.password_condition_digit 2 密码中数字最少个数2个passwordcheck.password_condition_letter 2 密码中字母最少个数2个passwordcheck.password_condition_punct 1 密码中特殊符号最少个数1个passwordcheck.password_length 8 密码最小长度8sys_audlog.error_user_connect_times 5 登录失败连续次数5sys_audlog.error_user_connect_interval 10 登录失败限制时长10分钟wal_levelreplica WAL日志级别replica副本级archive_mode on 归档模式开启archive_command 归档命令重启数据库sys_ctl restart数据库优化上面我们已经添加了优化配置这个的优化脚本我们就不需要做了find /home/ -name op*database*shsh optimize_database_conf.shtail -f /home/kingbase/KingbaseES/V9/data/kingbase.confsys_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[rootlocalhost script]# ./root.sh四、逻辑备份kingbae用户执行切换为kingbase用户编辑逻辑备份脚本vim /home/kingbase/KingbaseES/V9/SupTools/kb_backup/backup8.conf根据实际部署修改kdb_home/home/kingbase/KingbaseES/V9kdb_bin/home/kingbase/KingbaseES/V9/Server/binkdbback_dest/home/kingbase/backup/logicalkdb_usersystempassword1234%^*Abkdb_port54321kdb_host127.0.0.1kdb_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 3keep_time31LD_LIBRARY_PATH/home/kingbase/KingbaseES/V9/Server/lib#更新system用户密码ksql -U system testtest# 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 startkingbase用户执行sys_ctl start 确保数据库是启用的cd /home/kingbase/KingbaseES/V9/Server/share/cp sys_backup.conf ../bin/cd ../bin/修改物理备份参数vim sys_backup.conf#我自己的修改参数如下_target_db_stylesingle_one_db_ip127.0.0.1_repo_ip127.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/bincd /home/kingbase/KingbaseES/V9/Server/bin执行备份初始化脚本./sys_backup.sh init启用备份./sys_backup.sh start物理备份时报错[kingbaselocalhost bin]$ ./sys_backup.sh initERROR: 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 --stanzakingbase info备份全量备份sys_rman --config/home/kingbase/app/ES/V9/rman/sys_rman.conf --stanzakingbase --archive-copy --typefull backup差异备份是diff增量备份是incr还原sys_rman --config/home/kingbase/app/ES/V9/rman/sys_rman.conf --stanzakingbase restore执行不完全恢复至误删除表之前的时间点[kingbasefgedu81 data]$ sys_rman --config/home/kingbase/app/ES/V9/rman/sys_rman.conf --stanzakingbase --typetime --target2025-11-28 17:38:17 --target-actionpromote restore
Kingbase--单机部署完整流程
目录一、安装kingbase数据库二、修改kingbase.conf参数三、数据库自启用需要先将服务停掉sys_ctl stop四、逻辑备份kingbae用户执行五、物理备份提前准备好安装包并上传到服务器上安装包根据对应的系统和cpu去官网下载一、安装kingbase数据库1、创建kingbase用户需要用kingbase用户去执行安装(root用户执行)创建用户和用户组groupadd kingbaseuseradd -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 urw /home/kingbase挂载软件包mount -o loop kingbase软件包ios /mnt非交互式设置kingbase用户密码echo kingbase | passwd --stdin kingbase切换到kingbase用户su - kingbasekingbase执行进入挂载目录/mntcd /mnt执行安装脚本 注意-i console是命令行安装不加这个就是图形化界面安装./setup.sh -i console这里需要手动初始化数据库可自定义data数据目录的路径安装好之后设置环境变量为了方便或者可以使用 ~/.bashrc这个环境变量环境变量vi ~/.bashrc添加如下export KINGBASE_DATA/home/kingbase/KingbaseES/V9/dataexport PATH$PATH:/home/kingbase/KingbaseES/V9/Server/bin立刻生效加载环境变量source ~/.bashrc二、修改kingbase.conf参数修改kingbase数据库核心配置文件vim /home/kingbase/KingbaseES/V9/data/kingbase.confarchive_mode onarchive_command 添加的这三个都是 Kingbase人大金仓数据库的安全类扩展插件主要用于强化数据库的账号安全、密码管理和操作审计能力是企业级数据库安全管控的核心配置在 shared_preload_libraries 行最后添加 passwordcheck, identity_pwdexp, sysauditpasswordcheck密码强度校验插件核心作用强制规范数据库用户的密码复杂度防止弱密码导致的安全风险。identity_pwdexp密码有效期管理插件核心作用实现数据库用户密码的生命周期管理强制密码定期更换。sysaudit数据库操作审计插件核心作用全面记录数据库的所有关键操作形成不可篡改的审计日志满足合规审计要求。shared_buffers 1GBeffective_cache_size 2GBmin_wal_size 2GBmax_wal_size 8GBmaintenance_work_mem 2GBcheckpoint_completion_target 0.9checkpoint_timeout 30minmax_connections1000logging_collector onlog_destination stderrlog_directory ../sys_loglog_filename kingbase-%d.loglog_truncate_on_rotation onlog_rotation_age 1440log_rotation_size 500MBpasswordcheck.enable on 开启密码校验强度passwordcheck.password_condition_digit 2 密码中数字最少个数2个passwordcheck.password_condition_letter 2 密码中字母最少个数2个passwordcheck.password_condition_punct 1 密码中特殊符号最少个数1个passwordcheck.password_length 8 密码最小长度8sys_audlog.error_user_connect_times 5 登录失败连续次数5sys_audlog.error_user_connect_interval 10 登录失败限制时长10分钟wal_levelreplica WAL日志级别replica副本级archive_mode on 归档模式开启archive_command 归档命令重启数据库sys_ctl restart数据库优化上面我们已经添加了优化配置这个的优化脚本我们就不需要做了find /home/ -name op*database*shsh optimize_database_conf.shtail -f /home/kingbase/KingbaseES/V9/data/kingbase.confsys_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[rootlocalhost script]# ./root.sh四、逻辑备份kingbae用户执行切换为kingbase用户编辑逻辑备份脚本vim /home/kingbase/KingbaseES/V9/SupTools/kb_backup/backup8.conf根据实际部署修改kdb_home/home/kingbase/KingbaseES/V9kdb_bin/home/kingbase/KingbaseES/V9/Server/binkdbback_dest/home/kingbase/backup/logicalkdb_usersystempassword1234%^*Abkdb_port54321kdb_host127.0.0.1kdb_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 3keep_time31LD_LIBRARY_PATH/home/kingbase/KingbaseES/V9/Server/lib#更新system用户密码ksql -U system testtest# 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 startkingbase用户执行sys_ctl start 确保数据库是启用的cd /home/kingbase/KingbaseES/V9/Server/share/cp sys_backup.conf ../bin/cd ../bin/修改物理备份参数vim sys_backup.conf#我自己的修改参数如下_target_db_stylesingle_one_db_ip127.0.0.1_repo_ip127.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/bincd /home/kingbase/KingbaseES/V9/Server/bin执行备份初始化脚本./sys_backup.sh init启用备份./sys_backup.sh start物理备份时报错[kingbaselocalhost bin]$ ./sys_backup.sh initERROR: 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 --stanzakingbase info备份全量备份sys_rman --config/home/kingbase/app/ES/V9/rman/sys_rman.conf --stanzakingbase --archive-copy --typefull backup差异备份是diff增量备份是incr还原sys_rman --config/home/kingbase/app/ES/V9/rman/sys_rman.conf --stanzakingbase restore执行不完全恢复至误删除表之前的时间点[kingbasefgedu81 data]$ sys_rman --config/home/kingbase/app/ES/V9/rman/sys_rman.conf --stanzakingbase --typetime --target2025-11-28 17:38:17 --target-actionpromote restore