Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个副本集。
而且我的辅助实例上的磁盘空间不足。
磁盘上没有空间可以运行db.repairDatabase()
db.repairDatabase()
有没有其他方法可以释放一些磁盘空间?
我刚在想:
if deleting data will allow it
这行得通吗?
更新
值得一提的是,我目前无法通过 SSH 连接到服务器。现在只使用 mongo 客户端。
不,那是行不通的——那里必须有一个数据库来运行 db.repairDatabase() 。但是,同样有效的方法是关闭辅助服务器,删除数据库文件,然后将其恢复。这将强制与主数据库重新同步,这实际上与 db.repairDatabase() 执行相同的操作,因为它将从头开始重新创建数据文件。
但是,为了删除数据文件,您需要通过 ssh 连接到实例。如果您无法通过 ssh 登录,那么您会遇到相当严重的问题,这些问题会干扰任何恢复辅助服务器的尝试。