最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
mongodb拷贝数据库copyDatabase()。实现释放磁盘空间的方法。
时间:2022-06-29 10:37:20 编辑:袖梨 来源:一聚教程网
db.copyDatabase("from","to","127.0.0.1:16161");
将127.0.0.1上的from库。拷贝到to库。
这样做有一个额外的好处。就是from库中可能是删除过数据的库。看我们知道删除数据时磁盘空间是不会被释放的。参考博客里的另一篇文章:mongodb删除集合后磁盘空间不释放
肯能造成占用很大磁盘空间。虽然可以用 db.repairDatabase()修复数据。但这种方法有两个不好的地方。1.在生产上操作如果意外停止可能会造成数据无法恢复的危险。2.如果磁盘空间不足,小于现在这个db时间占有的空间,这种情况是用不了 db.repairDatabase()的。
所以介绍用db.copyDatabase可以备份复制数据的方法。
1.db.copyDatabase("from","to","127.0.0.1:16161");复制出一个新的to数据库。这个已经是最小数据占用的数据。会在数据目录下产生to的相关数据文件。
2.将所有程序的配置从from库改为to库。测试无误。
3.这时可以删除from库。方法。use from 后 db.dropDatabase()。这个方法的好处是可以时间将磁盘上的数据删除掉。节省出很大的空间。
磁盘紧张的同学可以参考以上方法。
相关文章
- 《勇者斗恶龙3:HD-2D重制版》防守型队伍阵容推荐 11-20
- 《勇者斗恶龙3:HD-2D重制版》平衡型队伍阵容推荐 11-20
- 《勇者斗恶龙3:HD-2D重制版》爆炸和超级爆炸技能特点介绍 11-20
- 《勇者斗恶龙3:HD-2D重制版》风暴类技能特点介绍 11-20
- 《勇者斗恶龙3:HD-2D重制版》击打和重击技能特点介绍 11-20
- 《勇者斗恶龙3:HD-2D重制版》治愈法术特点介绍 11-20