eph*_*amd 5 mongodb mongodb-query
我有一个拥有数百万用户的 mongodb 数据库。我想释放空间,我创建了一个机器人来删除超过 6 个月的非活动用户。
我已经看了几分钟磁盘,我看到它有所不同,但它不会释放大空间,甚至不会释放 1 mb。这很奇怪。
我读过"remove"如果它没有简单地标记它可以被删除或覆盖,它实际上并不会删除光盘。是真的?
这对我来说似乎很有意义。所以,我一直在寻找能够真正释放空间的东西......
我已经申请了repairDatabase(),但我认为我做错了。
一切都被封锁了!
我试过运气,我已经重新启动了服务器。 有一个 MongoDB 服务正在运行,但其状态保持在“正在启动”(未运行)中。
我正在从repairDatabase()需要两倍于数据库原始大小的空间的其他站点读取数据,但它没有。
我不知道,在做什么,这可能在几个小时,几天内......
数据库丢失了吗?我想我会停止所有服务并删除数据库。
repairDatabase类似于fsck。也就是说,它尝试清理数据库中任何可能阻止 MongoDB 启动的损坏文档。具体工作原理因存储引擎而异,但repairDatabase 可能会从数据库中删除文档。
MongoDB 文档页面中非常清楚地概述了该命令的详细信息(包含所有警告):https ://docs.mongodb.com/manual/reference/command/repairDatabase/
我建议下次最好先阅读官方文档,而不是阅读论坛上人们所说的内容。像这样的二手信息可能已经过时,或者根本就是错误的。
话虽如此,您应该让该进程保持运行直至完成,并在数据库无法启动时执行任何故障排除。它可能需要 2 倍于数据的磁盘空间,但该命令也可能只需要时间来完成。
| 归档时间: |
|
| 查看次数: |
1291 次 |
| 最近记录: |