MongoDB减少了db文件大小

时间:2014-05-15 14:32:08

标签: mongodb diskspace slave database

我有一个副本集。

我的辅助实例上的磁盘空间不足。

磁盘上没有空间可以运行db.repairDatabase()

还有其他方法可以释放一些磁盘空间吗?

我在想:

  1. 带来二级下载
  2. 删除所有数据
  3. 运行db.repairDatabase()if deleting data will allow it
  4. 把它带回来。
  5. 这项工作吗?

    更新

    值得一提的是,我目前无法通过SSH连接到服务器。现在只使用mongo客户端。

1 个答案:

答案 0 :(得分:4)

不,这不会起作用 - 必须有一个数据库来运行db.repairDatabase()。但是,同样有效的方法是将二级设备关闭,删除数据库文件,然后将其备份。这将强制与主服务器重新同步,这实际上将与db.repairDatabase()执行相同的操作,因为它将从头开始重新创建数据文件。

但是,为了删除数据文件,您需要ssh到实例。如果你不能ssh你有相当重要的问题会干扰任何恢复辅助的尝试。