kaisawind's blog
  • 关于
  • 所有帖子

mongodb时间序列数据库恢复 - Fri, Feb 6, 2026

mongodb时间序列数据库恢复时会自动清理过期数据,首先需要禁用时间序列自动清理。

  • 关闭索引清理
# 暂停集合的所有TTL索引
db.runCommand({
  "collMod": "your_collection",
  "index": {
    "keyPattern": { "timestamp": 1 },
    "expireAfterSeconds": "off"  # 禁用TTL
  }
})
  • 恢复时不包含索引
mongorestore --noIndexRestore --db yourdb /backup/directory/
  • 恢复数据前先禁用索引
# 步骤1: 禁用TTL
mongosh --eval 'db.runCommand({collMod: "history", expireAfterSeconds: -1})'

# 步骤2: 执行数据恢复
mongorestore --db yourdb --collection metrics /backup/metrics.bson

# 步骤3: 如果需要,重新启用TTL(可选)
mongosh --eval 'db.runCommand({collMod: "metrics", expireAfterSeconds: 86400})'


辽ICP备2021007608号 | © 2026 | kaisawind

Facebook Twitter GitHub