mongodb 维护

时间:2022-08-16 13:16:54

如何释放空间?

1. 先用 remove 命令删除数据

2. repair。需要停机,即便你不停机的话 mongodb 自己也会锁住直到 repair 完成。注意要有足够的磁盘空间,需要额外一倍的空间,如果mongodb 占用了100G,那么 repair 时还需要额外的100G 空间。可以追加磁盘,然后将目标目录指向新加的磁盘。

mongod --dbpath /data/db --repair --repairpath /data/db0

如果当前磁盘足够的话可直接在 mongo 命令行中运行:

db.repairDatabase()

只要磁盘空间够基本上没什么问题。

repair 的速度嘛,我33G整理到10G 用了5分钟。

经测试,释放出来的空间与用 copyDatabase 方法释放的空间一样。