KingbaseES数据备份操作详解(图文教程)

107 阅读4分钟

引言

本文的话将详细介绍KingbaseES金仓数据库的数据备份操作,包括图形界面和命令行两种方式。 学习本文前,我们需要安装KingbaseES,安装教程详见这篇文章:Windows KingbaseES安装教程

备份基础知识

KingbaseES支持完全备份,增量备份,差异备份这三种类型。完全备份就是备份整个数据库,增量备份是只备份变化的数据,差异备份是备份自上一次​​完全备份​​以来发生变化的所有数据。 备份的格式有三种,第一种是自定义格式,这个是KingbaseES专用的格式,推荐大家使用。第二种是SQL格式(.sql)纯文本格式,兼容性好。第三种是目录格式,这种适合大型数据库。

KStudio图形界面备份操作

咱们使用KStudio数据库管理工具来使用备份操作。 先使用KStudio连接数据库,配置好连接信息后,点击测试连接,连接通过后,点击完成。 连接数据库 在工具栏中找到“备份”选项卡,随后点击 点击备份 选择要进行备份的数据库 选择要进行备份的数据库 这里可以选择备份成二进制文件或者SQL文件。本文则备份成二进制文件,因为二进制文件的话压缩率高,速度快。 配置完备份参数后点击“备份”。 在这里插入图片描述 稍等片刻后,备份成功。 备份成功

使用DBeaver备份

安装DBeaver

官网:点击跳转到官网 点击下载DBeaver Windows的安装程序。下载完成后,运行安装程序,无脑点击下一步即可安装成功。 在这里插入图片描述

使用DBeaver连接KingbaseES数据库

首先我们需要连接kingbaseES数据库,直接搜索kingbase,选中后点击下一步。 在这里插入图片描述 配置好连接参数后,点击测试连接,测试通过后点击完成。 在这里插入图片描述 在这里插入图片描述

备份表结构

导出表结构(备份表结构):选中要导出表结构的表,右键后点击生成SQL,选择DDL 导出表结构

备份表数据

导出表数据(备份表数据):选中要导出表数据的表,右键后点击导出数据 导出表数据 选择要导出的类型和格式 在这里插入图片描述 配置数据库表抽取设置 在这里插入图片描述 设置文件格式 在这里插入图片描述 配置导出的目录,编码格式 在这里插入图片描述 开始导出。 在这里插入图片描述

使用命令行备份

KingbaseES金仓数据库提供了强大的命令行备份工具,主要包括sys_dump和sys_dumpall两个命令。那咱们就来一探究竟吧。

sys_dump和sys_dumpall命令在\Kingbase\ES\V9\Server\bin目录下。 咱们首先需要给KingbaseES配置到环境变量中,这样才能在DOS窗口使用这两个命令,不配置环境变量的话需要切换到bin目录去使用。

配置KingbaseES环境变量

配置系统变量Path 在这里插入图片描述 配置bin目录,C:\Kingbase\ES\V9\Server\bin我的在这个位置,大家根据实际情况去填写就行。 在这里插入图片描述 验证是否配置成功。通过sys_demp --versionsys_dumpall --version这两个命令去验证,如果正常显示出版本号则证明配置成功。 在这里插入图片描述

sys_dump命令详解

sys_dump是KingbaseES的核心备份工具,用于备份单个数据库。 基本语法:sys_dump [选项] 数据库名 常用参数说明 下面咱们就来具体使用一下:

完全备份(自定义格式)

# 备份整个数据库为自定义格式
sys_dump -h localhost -p 54321 -U system -W -d test_db -f /backup/test_db_backup.dump -F c -v

成功备份 备份为SQL格式

# 备份为纯文本SQL格式
sys_dump -h localhost -p 54321 -U system -W -d test_db -f /backup/test_db_backup.sql -F p -v

压缩备份

# 使用最高压缩级别备份
sys_dump -h localhost -p 54321 -U system -W -d test_db -f /backup/test_db_backup.dump -F c -Z 9 -v

备份特定表

# 只备份指定的表
sys_dump -h localhost -p 54321 -U system -W -d test_db -t table1 -t table2 -f /backup/tables_backup.dump -F c

备份特定模式

# 只备份指定模式下的对象
sys_dump -h localhost -p 54321 -U system -W -d test_db -n schema1 -f /backup/schema_backup.dump -F c

只备份数据(不包含结构)

# 只导出数据,不包含表结构
sys_dump -h localhost -p 54321 -U system -W -d test_db -a -f /backup/data_only_backup.dump -F c

只备份结构(不包含数据)

# 只导出表结构,不包含数据
sys_dump -h localhost -p 54321 -U system -W -d test_db -s -f /backup/schema_only_backup.dump -F c

sys_dumpall命令详解

sys_dumpall用于备份整个数据库集群,包括所有数据库、角色和表空间。 它的基本用法是sys_dumpall [选项] sys_dumpall常用参数 下面咱们来具体使用一下: 完整集群备份

# 备份整个数据库集群
sys_dumpall -h localhost -p 54321 -U system -W -f /backup/cluster_backup.sql -v

只备份全局对象

# 只备份角色和表空间信息
sys_dumpall -h localhost -p 54321 -U system -W -g -f /backup/globals_backup.sql

总结

通过本文的详细介绍,我们全面了解了KingbaseES金仓数据库的多种备份方式。无论是使用KStudio图形界面的直观操作,还是DBeaver的灵活导出功能,亦或是命令行工具的强大备份能力,每种方式都有其独特的优势和适用场景。