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)及其适用场景。同时也对恢复过程中的关键注意事项进行了总结,避免在实际操作中因参数配置不当造成恢复失败。通过科学的备份机制与规范的恢复流程,不仅能够有效应对突发的数据故障,还能为系统迁移、数据脱敏等工作提供技术保障。建议在生产环境中定期执行备份演练,确保备份数据的可用性与恢复过程的可控性。

相关推荐
GDAL1 小时前
Node.js v22.5+ 官方 SQLite 模块全解析:从入门到实战
数据库·sqlite·node.js
DCTANT2 小时前
【原创】国产化适配-全量迁移MySQL数据到OpenGauss数据库
java·数据库·spring boot·mysql·opengauss
AI、少年郎4 小时前
Oracle 进阶语法实战:从多维分析到数据清洗的深度应用(第四课)
数据库·oracle
赤橙红的黄4 小时前
自定义线程池-实现任务0丢失的处理策略
数据库·spring
DataGear5 小时前
如何在DataGear 5.4.1 中快速制作SQL服务端分页的数据表格看板
javascript·数据库·sql·信息可视化·数据分析·echarts·数据可视化
weixin_438335405 小时前
分布式锁实现方式:基于Redis的分布式锁实现(Spring Boot + Redis)
数据库·redis·分布式
码不停蹄的玄黓5 小时前
MySQL Undo Log 深度解析:事务回滚与MVCC的核心功臣
数据库·mysql·undo log·回滚日志
Qdgr_5 小时前
价值实证:数字化转型标杆案例深度解析
大数据·数据库·人工智能
数据狐(DataFox)5 小时前
SQL参数化查询:防注入与计划缓存的双重优势
数据库·sql·缓存
Arthurmoo5 小时前
Linux系统之MySQL数据库基础
linux·数据库·mysql