MongoDB清理数据磁盘不释放的解决方法

mongodb 不会释放已经占用的硬盘空间,除非drop整个库,有以下两个方法可以释放磁盘空间。
方法一:
在mongodb的shell中进入相应库中执行db.repairDatabase()db.runCommand({ repairDatabase: 1 })

缺点是花费的时间并不短,要保证剩余一定量磁盘空间,而且当repair database的时候处于锁表状态,既不能读也不能写
方法二:
导入导出

mongodump --port 27017 -u root -p mypassword --authenticationDatabase admin -d test -o /backup

在mongodb的shell中进入相应库中执行db.dropDatabase()

mongorestore --port 27017 -u root -p Manager --authenticationDatabase admin  -d test /backup/test

缺点是当库很大时花费的时间也会相当长

以上两种方法其实都不建议在生产环境做,都会影响正常业务,测试环境可以尝试,生产环境磁盘空间不够还是建议增加磁盘。

猜你喜欢

转载自blog.csdn.net/u014609263/article/details/94621316
今日推荐