kingbase教程FG036-kingbase全量增量备份实战
目录大纲
- 5.1 全量增量备份最佳实践
- 5.2 常见问题与解决方案,风哥提示:
内容简介
本文档详细介绍kingbase数据库的全量增量备份方法,包括全量备份、增量备份的执行方法、备份验证等操作。风哥教程参考kingbase官方文档《KingbaseES备份恢复指南》。
Part01-基础概念与理论知识
1.1 全量备份概念与作用
全量备份是kingbase数据库中备份所有数据的备份方式,主要作用包括:
- 完整备份所有数据
- 作为增量备份的基础
- 快速恢复整个数据库
- 确保数据安全,学习交流加群风哥微信: itpux-com
1.2 增量备份概念与作用
增量备份是kingbase数据库中只备份变化数据的备份方式,主要作用包括:
- 减少备份时间
- 减少备份空间
- 提高备份效率
- 支持时间点恢复
Part02-生产环境规划与建议
2.1 备份策略设计
- 全量备份:每周执行一次全量备份
- 增量备份:每天执行一次增量备份,学习交流加群风哥QQ113257174
- 备份时间:选择业务低峰期执行备份
- 备份验证:定期验证备份的完整性
2.2 备份存储规划
- 本地存储:用于快速恢复
- 异地存储:用于灾难恢复
- 存储介质:使用高性能存储,如SSD
- 存储容量:确保有足够的存储空间,更多视频教程www.fgedu.net.cn
Part03-生产环境项目实施方案
3.1 全量备份执行
全量备份的执行步骤:
- 配置归档模式
- 执行全量备份
- 验证备份完整性
- 存储备份文件
3.2 增量备份执行
增量备份的执行步骤:
- 基于全量备份,更多学习教程公众号风哥教程itpux_com
- 执行增量备份
- 验证备份完整性
- 存储备份文件
Part04-生产案例与实战讲解
4.1 全量备份实战
执行全量备份:
# 执行全量备份
su – kingbase -c “pg_basebackup -h fgedu.localhost -p 54321 -U system -D /kingbase/backup/full_$(date +%Y%m%d) -F p -X s -P”
Password:
# 输入密码后执行
31700/31700 kB (100%), 1/1 tablespace
# 验证备份目录
ls -la /kingbase/backup/full_$(date +%Y%m%d)/
total 128
drwxr-xr-x 19 kingbase kingbase 4096 Jan 1 12:00 .
drwxr-xr-x 3 kingbase kingbase 4096 Jan 1 11:00 ..
drwx—— 5 kingbase kingbase 4096 Jan 1 12:00 base
drwx—— 2 kingbase kingbase 4096 Jan 1 12:00 global
drwx—— 2 kingbase kingbase 4096 Jan 1 12:00 pg_commit_ts
drwx—— 2 kingbase kingbase 4096 Jan 1 12:00 pg_dynshmem
-rw——- 1 kingbase kingbase 372 Jan 1 12:00 pg_hba.conf
-rw——- 1 kingbase kingbase 163 Jan 1 12:00 pg_ident.conf
drwx—— 2 kingbase kingbase 4096 Jan 1 12:00 pg_logical
drwx—— 4 kingbase kingbase 4096 Jan 1 12:00 pg_multixact
drwx—— 2 kingbase kingbase 4096 Jan 1 12:00 pg_notify
drwx—— 2 kingbase kingbase 4096 Jan 1 12:00 pg_replslot
drwx—— 2 kingbase kingbase 4096 Jan 1 12:00 pg_serial
drwx—— 2 kingbase kingbase 4096 Jan 1 12:00 pg_snapshots
drwx—— 2 kingbase kingbase 4096 Jan 1 12:00 pg_stat
drwx—— 2 kingbase kingbase 4096 Jan 1 12:00 pg_stat_tmp
drwx—— 2 kingbase kingbase 4096 Jan 1 12:00 pg_subtrans
drwx—— 2 kingbase kingbase 4096 Jan 1 12:00 pg_tblspc
drwx—— 2 kingbase kingbase 4096 Jan 1 12:00 pg_twophase
-rw——- 1 kingbase kingbase 3 Jan 1 12:00 PG_VERSION
drwx—— 3 kingbase kingbase 4096 Jan 1 12:00 pg_wal
drwx—— 2 kingbase kingbase 4096 Jan 1 12:00 pg_xact
-rw——- 1 kingbase kingbase 2211 Jan 1 12:00 postgresql.auto.conf
su – kingbase -c “pg_basebackup -h fgedu.localhost -p 54321 -U system -D /kingbase/backup/full_$(date +%Y%m%d) -F p -X s -P”
Password:
# 输入密码后执行
31700/31700 kB (100%), 1/1 tablespace
# 验证备份目录
ls -la /kingbase/backup/full_$(date +%Y%m%d)/
total 128
drwxr-xr-x 19 kingbase kingbase 4096 Jan 1 12:00 .
drwxr-xr-x 3 kingbase kingbase 4096 Jan 1 11:00 ..
drwx—— 5 kingbase kingbase 4096 Jan 1 12:00 base
drwx—— 2 kingbase kingbase 4096 Jan 1 12:00 global
drwx—— 2 kingbase kingbase 4096 Jan 1 12:00 pg_commit_ts
drwx—— 2 kingbase kingbase 4096 Jan 1 12:00 pg_dynshmem
-rw——- 1 kingbase kingbase 372 Jan 1 12:00 pg_hba.conf
-rw——- 1 kingbase kingbase 163 Jan 1 12:00 pg_ident.conf
drwx—— 2 kingbase kingbase 4096 Jan 1 12:00 pg_logical
drwx—— 4 kingbase kingbase 4096 Jan 1 12:00 pg_multixact
drwx—— 2 kingbase kingbase 4096 Jan 1 12:00 pg_notify
drwx—— 2 kingbase kingbase 4096 Jan 1 12:00 pg_replslot
drwx—— 2 kingbase kingbase 4096 Jan 1 12:00 pg_serial
drwx—— 2 kingbase kingbase 4096 Jan 1 12:00 pg_snapshots
drwx—— 2 kingbase kingbase 4096 Jan 1 12:00 pg_stat
drwx—— 2 kingbase kingbase 4096 Jan 1 12:00 pg_stat_tmp
drwx—— 2 kingbase kingbase 4096 Jan 1 12:00 pg_subtrans
drwx—— 2 kingbase kingbase 4096 Jan 1 12:00 pg_tblspc
drwx—— 2 kingbase kingbase 4096 Jan 1 12:00 pg_twophase
-rw——- 1 kingbase kingbase 3 Jan 1 12:00 PG_VERSION
drwx—— 3 kingbase kingbase 4096 Jan 1 12:00 pg_wal
drwx—— 2 kingbase kingbase 4096 Jan 1 12:00 pg_xact
-rw——- 1 kingbase kingbase 2211 Jan 1 12:00 postgresql.auto.conf
4.2 增量备份实战
执行增量备份:
# 创建增量备份脚本
cat > /kingbase/scripts/incremental_backup.sh << 'EOF' #!/bin/bash # incremental_backup.sh # from:www.itpux.com.qq113257174.wx:itpux-com # web: http://www.fgedu.net.cn BACKUP_DIR="/kingbase/backup" FULL_BACKUP_DIR="$BACKUP_DIR/full_$(date +%Y%m%d)" INCREMENTAL_BACKUP_DIR="$BACKUP_DIR/incremental_$(date +%Y%m%d_%H%M%S)" # 执行增量备份 pg_basebackup -h fgedu.localhost -p 54321 -U system -D "$INCREMENTAL_BACKUP_DIR" -F p -X s -P -i # 保留最近7天的增量备份 find "$BACKUP_DIR" -name "incremental_*.backup" -mtime +7 -delete EOF chmod +x /kingbase/scripts/incremental_backup.sh # 执行增量备份
su – kingbase -c “/kingbase/scripts/incremental_backup.sh”
Password:
# 输入密码后执行
31700/31700 kB (100%), 1/1 tablespace
cat > /kingbase/scripts/incremental_backup.sh << 'EOF' #!/bin/bash # incremental_backup.sh # from:www.itpux.com.qq113257174.wx:itpux-com # web: http://www.fgedu.net.cn BACKUP_DIR="/kingbase/backup" FULL_BACKUP_DIR="$BACKUP_DIR/full_$(date +%Y%m%d)" INCREMENTAL_BACKUP_DIR="$BACKUP_DIR/incremental_$(date +%Y%m%d_%H%M%S)" # 执行增量备份 pg_basebackup -h fgedu.localhost -p 54321 -U system -D "$INCREMENTAL_BACKUP_DIR" -F p -X s -P -i # 保留最近7天的增量备份 find "$BACKUP_DIR" -name "incremental_*.backup" -mtime +7 -delete EOF chmod +x /kingbase/scripts/incremental_backup.sh # 执行增量备份
su – kingbase -c “/kingbase/scripts/incremental_backup.sh”
Password:
# 输入密码后执行
31700/31700 kB (100%), 1/1 tablespace
4.3 备份验证与管理
验证与管理备份:,from DB视频:www.itpux.com
# 列出所有备份
ls -la /kingbase/backup/
total 20
drwxr-xr-x 5 kingbase kingbase 4096 Jan 1 12:00 .
drwxr-xr-x 3 kingbase kingbase 4096 Jan 1 11:00 ..
drwxr-xr-x 19 kingbase kingbase 4096 Jan 1 12:00 full_20240101
drwxr-xr-x 19 kingbase kingbase 4096 Jan 1 12:30 incremental_20240101_123000
# 检查备份文件大小
du -sh /kingbase/backup/full_20240101/
100M /kingbase/backup/full_20240101/
du -sh /kingbase/backup/incremental_20240101_123000/
10M /kingbase/backup/incremental_20240101_123000/
ls -la /kingbase/backup/
total 20
drwxr-xr-x 5 kingbase kingbase 4096 Jan 1 12:00 .
drwxr-xr-x 3 kingbase kingbase 4096 Jan 1 11:00 ..
drwxr-xr-x 19 kingbase kingbase 4096 Jan 1 12:00 full_20240101
drwxr-xr-x 19 kingbase kingbase 4096 Jan 1 12:30 incremental_20240101_123000
# 检查备份文件大小
du -sh /kingbase/backup/full_20240101/
100M /kingbase/backup/full_20240101/
du -sh /kingbase/backup/incremental_20240101_123000/
10M /kingbase/backup/incremental_20240101_123000/
Part05-风哥经验总结与分享
5.1 全量增量备份最佳实践
- 定期执行全量备份,作为增量备份的基础
- 根据业务需求执行增量备份
- 将备份存储在安全的位置,如异地存储
- 定期验证备份的完整性
- 建立备份策略和恢复测试
5.2 常见问题与解决方案
- 备份失败:检查数据库连接和权限
- 备份文件过大:使用压缩格式,或考虑增量备份
- 备份时间过长:优化备份参数,选择合适的备份时间
- 恢复失败:确保备份文件完整,检查数据库版本兼容性
- 风哥提示:全量增量备份是数据库安全的重要保障,需要定期执行和验证
本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html
