Skip to content

TDSQL 手动备份

手动备份类型

全量备份

特点

  • 备份完整的数据库实例
  • 包含所有数据和对象
  • 备份时间较长
  • 恢复速度较快

适用场景

  • 定期的数据保护
  • 重大变更前的备份
  • 迁移前的准备
  • 季度或年度备份

增量备份

特点

  • 仅备份自上次备份以来变更的数据
  • 备份时间较短
  • 恢复需要基础备份和所有增量备份
  • 节省存储空间

适用场景

  • 日常数据保护
  • 高频备份需求
  • 存储空间有限
  • 快速备份需求

日志备份

特点

  • 备份事务日志
  • 支持点-in-time恢复
  • 备份频率高
  • 恢复精度高

适用场景

  • 关键业务数据保护
  • 需要精确恢复到特定时间点
  • 高可用要求
  • 合规要求

控制台手动备份流程

全量备份操作

操作步骤

  1. 登录TDSQL控制台
  2. 进入「实例管理」页面
  3. 选择目标实例
  4. 点击「备份管理」→「手动备份」
  5. 选择备份类型为「全量备份」
  6. 选择备份存储位置
  7. 设置备份名称(可选)
  8. 点击「确认备份」
  9. 等待备份任务完成

注意事项

  • 避免在业务高峰期执行全量备份
  • 确保有足够的存储空间
  • 记录备份任务ID和时间
  • 验证备份的完整性

增量备份操作

操作步骤

  1. 登录TDSQL控制台
  2. 进入「实例管理」页面
  3. 选择目标实例
  4. 点击「备份管理」→「手动备份」
  5. 选择备份类型为「增量备份」
  6. 选择基础备份(如系统未自动选择)
  7. 设置备份名称(可选)
  8. 点击「确认备份」
  9. 等待备份任务完成

注意事项

  • 确保存在有效的基础备份
  • 增量备份依赖于前一次备份
  • 定期合并增量备份
  • 监控备份链的完整性

命令行手动备份

使用TDSQL CLI备份

安装和配置

bash
# 安装TDSQL CLI
pip install tdsql-cli

# 配置CLI
 tdsql configure \
   --endpoint <endpoint> \
   --secret-id <secret-id> \
   --secret-key <secret-key>

执行全量备份

bash
# 执行全量备份
tdsql backup create \
  --instance-id <instance-id> \
  --backup-type full \
  --backup-name "manual-full-backup-$(date +%Y%m%d%H%M%S)"

执行增量备份

bash
# 执行增量备份
tdsql backup create \
  --instance-id <instance-id> \
  --backup-type incremental \
  --backup-name "manual-incremental-backup-$(date +%Y%m%d%H%M%S)"

使用mysqldump备份

适用场景

  • 小型数据库实例
  • 单库备份需求
  • 迁移或测试场景
  • 需要灵活的备份选项

备份命令

bash
# 全库备份
mysqldump -h <host> -P <port> -u <user> -p \
  --single-transaction \
  --master-data=2 \
  --flush-logs \
  --all-databases \
  > full_backup_$(date +%Y%m%d).sql

# 单库备份
mysqldump -h <host> -P <port> -u <user> -p \
  --single-transaction \
  --master-data=2 \
  <database-name> \
  > db_backup_$(date +%Y%m%d).sql

# 压缩备份
mysqldump -h <host> -P <port> -u <user> -p \
  --single-transaction \
  --all-databases \
  | gzip > full_backup_$(date +%Y%m%d).sql.gz

手动备份最佳实践

备份策略设计

备份频率

  • 全量备份:每周或每月一次
  • 增量备份:每日一次或多次
  • 日志备份:每小时或更频繁

备份存储

  • 使用可靠的存储介质
  • 实施3-2-1备份策略(3份备份,2种介质,1份离线)
  • 定期验证备份的完整性
  • 加密备份数据

备份时间窗口

选择原则

  • 避开业务高峰期
  • 考虑系统资源使用情况
  • 结合恢复时间目标(RTO)
  • 考虑备份完成时间

推荐时间

  • 夜间(22:00-06:00)
  • 周末或节假日
  • 业务低峰期
  • 系统维护窗口

备份验证

验证内容

  • 备份文件的存在性
  • 备份文件的完整性
  • 备份文件的可恢复性
  • 备份数据的一致性

验证方法

  • 定期执行恢复测试
  • 使用校验和验证备份文件
  • 检查备份日志
  • 抽样验证恢复的数据

备份管理

备份文件管理

文件命名规范

  • 包含备份类型
  • 包含备份时间
  • 包含实例标识
  • 便于识别和管理

示例命名

tdsql-instance1-full-backup-20231215143000.sql.gz
tdsql-instance1-incremental-backup-20231216020000.sql.gz
tdsql-instance1-log-backup-20231216030000.sql.gz

备份生命周期管理

保留策略

  • 全量备份:保留30天或更长
  • 增量备份:保留到下一次全量备份前
  • 日志备份:保留到下一次全量备份前

清理策略

  • 自动清理过期备份
  • 手动清理特定备份
  • 归档长期备份
  • 监控存储使用情况

手动备份监控

备份进度监控

监控内容

  • 备份任务状态
  • 备份进度百分比
  • 备份数据大小
  • 备份预计完成时间

监控方式

  • 控制台实时监控
  • 备份日志分析
  • API查询
  • 命令行工具

备份结果通知

通知方式

  • 邮件通知
  • 短信通知
  • 企业微信通知
  • 钉钉通知

通知内容

  • 备份任务ID
  • 备份类型和名称
  • 备份状态
  • 备份开始和结束时间
  • 备份数据大小
  • 备份存储位置

常见问题(FAQ)

Q1: 如何选择合适的手动备份类型?

A1: 选择手动备份类型的考虑因素:

  1. 备份目的:定期保护、变更前备份、迁移准备
  2. 数据量大小:全量备份适合中等数据量
  3. 备份时间窗口:增量备份时间较短
  4. 恢复需求:日志备份支持精确恢复
  5. 存储空间:增量备份节省空间

Q2: 手动备份会影响数据库性能吗?

A2: 手动备份对数据库性能的影响:

  • 全量备份会消耗较多系统资源
  • 增量备份影响较小
  • 日志备份影响最小
  • 建议在业务低峰期执行备份
  • 可调整备份并行度优化性能

Q3: 如何确保手动备份的可靠性?

A3: 确保手动备份可靠性的措施:

  1. 定期验证备份的可恢复性
  2. 使用校验和验证备份文件完整性
  3. 存储备份到多个位置
  4. 加密备份数据
  5. 保留足够的备份副本

Q4: 手动备份和自动备份的区别是什么?

A4: 手动备份和自动备份的主要区别:

  • 触发方式:手动备份由用户触发,自动备份按计划执行
  • 灵活性:手动备份更灵活,可随时执行
  • 适用场景:手动备份适合临时需求,自动备份适合常规保护
  • 管理方式:手动备份需要用户管理,自动备份由系统管理

Q5: 如何快速执行手动备份?

A5: 快速执行手动备份的方法:

  1. 使用控制台的快速备份功能
  2. 预先配置备份模板
  3. 使用命令行脚本自动化
  4. 选择合适的备份类型
  5. 优化备份配置

Q6: 如何恢复手动备份?

A6: 恢复手动备份的步骤:

  1. 登录TDSQL控制台
  2. 进入「备份管理」页面
  3. 选择要恢复的备份文件
  4. 点击「恢复」按钮
  5. 选择恢复目标实例
  6. 配置恢复参数
  7. 确认恢复操作
  8. 等待恢复完成

Q7: 手动备份可以跨地域恢复吗?

A7: 手动备份跨地域恢复的情况:

  • 支持跨地域恢复
  • 需要确保目标地域支持TDSQL
  • 可能产生跨地域数据传输费用
  • 恢复时间取决于数据量和网络带宽
  • 建议先复制备份到目标地域

Q8: 如何管理大量的手动备份?

A8: 管理大量手动备份的方法:

  1. 建立清晰的备份命名规范
  2. 定期清理过期备份
  3. 归档长期备份
  4. 使用备份标签进行分类
  5. 监控备份存储使用情况
  6. 建立备份管理流程