GreptimeDB 导出和导入工具
本指南描述了如何使用 GreptimeDB 的导出和导入工具进行数据库备份和恢复。
有关详细的命令行选项和高级配置,请参阅 数据导出和导入。
概述
导出操作
完整数据库备份
导出所有数据库备份。此操作将每个数据库导出到单个目录中,包括所有表及其数据。输出目录结构如下:
# 导出所有数据库备份
greptime cli data export \
--addr localhost:4000 \
--output-dir /tmp/backup/greptimedb
输出目录结构:
<output-dir>/
└── greptime/
└── <database>/
├── create_database.sql
├── create_tables.sql
├── copy_from.sql
└── <数据文件>
仅导出表结构
仅导出表结构而不包含数据。此操作将 CREATE TABLE
语句导出到 SQL 文件中,允许您备份表结构而不包含实际数据。
# 仅导出表结构
greptime cli data export \
--addr localhost:4000 \
--output-dir /tmp/backup/schemas \
--target schema
基于时间范围备份
# 导出指定时间范围内的数据
greptime cli data export --addr localhost:4000 \
--output-dir /tmp/backup/timerange \
--start-time "2024-01-01 00:00:00" \
--end-time "2024-01-31 23:59:59"
指定数据库备份
# 导出指定数据库
greptime cli data export \
--addr localhost:4000 \
--output-dir /tmp/backup/greptimedb \
--database '{my_database_name}'
导入操作
完整数据库备份
导入所有数据库备份。
# 导入所有数据库
greptime cli data import \
--addr localhost:4000 \
--input-dir /tmp/backup/greptimedb
仅导入表结构
仅导入表结构而不包含数据。此操作将 CREATE TABLE
语句从 SQL 文件中导入,允许您恢复表结构而不包含实际数据。
# 仅导入表结构
greptime cli data import \
--addr localhost:4000 \
--input-dir /tmp/backup/schemas \
--target schema
指定数据库备份
# 导入指定数据库
greptime cli data import \
--addr localhost:4000 \
--input-dir /tmp/backup/greptimedb \
--database '{my_database_name}'
最佳实践
-
并行度配置
- 根据可用系统资源调整
--export-jobs
/--import-jobs
- 从较低的值开始,逐步增加
- 在操作期间监控系统性能
- 根据可用系统资源调整
-
备份策略
- 使用时间范围进行增量数据备份
- 定期备份用于灾难恢复
-
错误处理
- 使用
--max-retry
处理临时异常 - 保留日志以便故障排除
- 使用
性能提示
-
导出性能
- 对大型数据集使用时间范围
- 根据 CPU/内存调整并行任务数量
- 考虑网络带宽限制
-
导入性能
- 注意监控数据库资源
-
导出性能
- 对大型数据集使用时间范围
- 根据 CPU/内存调整并行任务
- 考虑网络带宽限制
-
导入性能
- 监控数据库资源
故障排除
常见问题
-
连接错误
- 验证服务器地址和端口
- 检查网络连接
- 确保身份验证凭据正确
-
权限问题
- 验证输出/输入目录的读写权限
-
资源限制
- 减少并行任务数
- 确保足够的磁盘空间
- 在操作期间监控系统资源