Kingbase逻辑备份与恢复标准化实施文档

背景

文章背景

本文结合实际运维经验,围绕 Kingbase 数据库在逻辑层面的备份与恢复方法进行系统性梳理,旨在为运维人员和数据库管理员提供一套清晰、高效、可落地的操作指引,提升数据库系统的可靠性与容灾能力。

第一部分 逻辑部分

1.1 全库备份

默认导出文本文件-Fp:plain text

复制代码
# su - kingbase
$ mkdir -p /home/kingbase/backup/sys_dump_$(date +%Y%m%d%H)
$ ls /home/kingbase/backup
sys_dump_2023060615
$ sys_dump -h 127.0.0.1 -p 54321 -U system -d dbtest -f /home/kingbase/backup/sys_dump_$(date +%Y%m%d%H)/dbtest.sql

导出自定义文件(二进制格式)-Fc:custom

复制代码
# su - kingbase
$ mkdir -p /home/kingbase/backup/sys_dump_$(date +%Y%m%d%H)
$ ls /home/kingbase/backup
sys_dump_2023060615
$ sys_dump -h 127.0.0.1 -p 54321 -U system -d dbtest -Fc -f /home/kingbase/backup/sys_dump_$(date +%Y%m%d%H)/dbtest.dmp

导出目录文件(并行备份)-Fd:directory

复制代码
# su - kingbase
$ ll /home/kingbase/backup/sys_dump_$(date +%Y%m%d%H) #如果目录已经存在,需要先删除目录,然后再备份
$ sys_dump -h 127.0.0.1 -p 54321 -U system -d dbtest -Fd -j 4 -f /home/kingbase/backup/sys_dump_$(date +%Y%m%d%H)
$ ls /home/kingbase/backup
sys_dump_2023060615

1.2 备份特定的schema

复制代码
# su - kingbase
$ mkdir -p /home/kingbase/backup/sys_dump_$(date +%Y%m%d%H)
$ sys_dump -h 127.0.0.1 -p 54321 -U system -d dbtest -n public -f /home/kingbase/backup/sys_dump_$(date +%Y%m%d%H)/public.sql

1.3 备份特定的表

复制代码
# su - kingbase
$ mkdir -p /home/kingbase/backup/sys_dump_$(date +%Y%m%d%H)
$ sys_dump -h 127.0.0.1 -p 54321 -U system -d dbtest -t test -f /home/kingbase/backup/sys_dump_$(date +%Y%m%d%H)/test.sql

注意:

1、只备份数据,加上 -a 参数。

2、只备份表结构,加上 -s 参数。

3、sys_dump只转储备份执行前的快照,即备份期间的更改不会被备份。

4、只有目录模式(-Fd)支持并行转储。

5、IP地址、端口号、数据库名称、schema名称、表名称,需根据实际情况修改。

第二部分 逻辑恢复

2.1 全库恢复

恢复文本文件

复制代码
# su - kingbase
$ createdb -h 127.0.0.1 -p 54321 -U system dbtest
$ ksql -h 127.0.0.1 -p 54321 -U system -d dbtest -f /home/kingbase/backup/sys_dump_2023060615/dbtest.sql

恢复自定义文件

复制代码
# su - kingbase
$ createdb -h 127.0.0.1 -p 54321 -U system dbtest
$ sys_restore -h 127.0.0.1 -p 54321 -U system -d dbtest /home/kingbase/backup/sys_dump_2023060615/dbtest.dmp

恢复目录文件

复制代码
# su - kingbase
$ createdb -h 127.0.0.1 -p 54321 -U system dbtest
$ sys_restore -h 127.0.0.1 -p 54321 -U system -d dbtest -Fd -j 4 /home/kingbase/backup/sys_dump_2023060615

2.2 恢复特定的schema

复制代码
# su - kingbase
$ ksql -h 127.0.0.1 -p 54321 -U system -d dbtest -f /home/kingbase/backup/sys_dump_2023060615/public.sql

2.3 恢复特定的表

复制代码
# su - kingbase
$ ksql -h 127.0.0.1 -p 54321 -U system -d dbtest -f /home/kingbase/backup/sys_dump_2023060615/test.sql

注意:

1、恢复时,需要先创建用户、数据库。

2、.sql类型的text文件只能使用ksql恢复。

3、sys_restore恢复时-d参数和-f参数无法一起使用,不需要使用-f去特别指出文件位置。

4、IP地址、端口号、数据库名称,需根据实际情况修改。

结论

本文详细介绍了 Kingbase 数据库在逻辑层面进行全库、特定 Schema 及单表的备份与恢复方法,涵盖了常见的三种导出格式(Plain Text、Custom、Directory)及其适用场景。同时也对恢复过程中的关键注意事项进行了总结,避免在实际操作中因参数配置不当造成恢复失败。通过科学的备份机制与规范的恢复流程,不仅能够有效应对突发的数据故障,还能为系统迁移、数据脱敏等工作提供技术保障。建议在生产环境中定期执行备份演练,确保备份数据的可用性与恢复过程的可控性。

相关推荐
十八旬1 小时前
苍穹外卖项目实战(day7-1)-缓存菜品和缓存套餐功能-记录实战教程、问题的解决方法以及完整代码
java·数据库·spring boot·redis·缓存·spring cache
要一起看日出2 小时前
MVCC-多版本并发控制
数据库·mysql·mvcc
Hx__2 小时前
MySQL InnoDB 的 MVCC 机制
数据库·mysql
速易达网络2 小时前
ASP.NET MVC 连接 MySQL 数据库查询示例
数据库·asp.net·mvc
玉衡子3 小时前
MySQL基础架构全面解析
数据库·后端
梦中的天之酒壶3 小时前
Redis Stack扩展功能
数据库·redis·bootstrap
GreatSQL3 小时前
GreatSQL分页查询优化案例实战
数据库
Leo.yuan4 小时前
不同数据仓库模型有什么不同?企业如何选择适合的数据仓库模型?
大数据·数据库·数据仓库·信息可视化·spark
麦兜*4 小时前
MongoDB 6.0 新特性解读:时间序列集合与加密查询
数据库·spring boot·mongodb·spring·spring cloud·系统架构
chat2tomorrow4 小时前
数据采集平台的起源与演进:从ETL到数据复制
大数据·数据库·数据仓库·mysql·低代码·postgresql·etl