如何安全转移mongodb集合的collection和index文件以腾出空间
大家讲道理
大家讲道理 2017-05-02 09:24:50
0
2
712

单机环境下使用mongodb缓存爬虫抓取的网页的源码,没有复制集、分片等,使用mongodb纯粹为了取用方便并提升存储效率。
现在一个collection占用了50多G的空间,已将数据提取完毕,短期内不会用到它了,但抓取下来十分不容易,后面可能还用得到,所以不想删掉,问题是硬盘没空间了,我想把collection和index文件转移到移动硬盘上,需要时再拷回来或者将移动硬盘目录作为数据目录。但拿一个新建的测试集合测试发现,一旦将这些文件移走,mongod就无法启动了,必须再转移回来才能启动。

我的问题是:
1、如何保证将占空间的collection及其对应的index文件挪走后,不影响mongod的启动和其他collection的使用(数据目录下还有其他collection)
2、如果不是拷贝整个数据目录,只将collection和index文件拷贝到新目录,后面如果将新目录作为数据目录,是不是也无法启动
3、数据目录下的collection、index、日志、锁文件之外的文件,是不是有些是类似注册表的作用,怎么实现类似绑定、解除绑定的操作

我查看了db、collection相关的操作,没发现文档中有做上述工作的函数,所以请知者指教。

附数据目录截图:

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回复(2)
洪涛

可以考虑这边文章所讲的两种数据迁移的方法。
文章

淡淡烟草味

一种简单的做法供参考:

1、假设数据文件和相关日志放置在data文件夹;

2、正常关闭MongoDB数据库;

3、拷贝data文件夹到便携式磁盘;

4、修改mongod.conf中相关参数,例如

systemLog:
    destination: file
    path: F:\mongodb\data\log\mongod.log
storage:
    dbPath: F:\mongodb\data\db

5、正常启动MongoDB

在你的描述中,可能是没有修改mongod.conf配置文件,或者没有重新设置data/log的路径吧。

供参考。

Love MongoDB! Have Fun!

------------------------华丽的分割符--------------------------------

MongoDB中文社区线下活动缤纷,请猛戳下方:

2017华山论剑|MongoDB中文社区

三月份杭州站在即!!! 感兴趣的朋友火速报名!!!

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板