mongodb dbpath可以配置多个么

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mongodb dbpath可以配置多个么相关的知识,希望对你有一定的参考价值。

这段时间要整理一下项目中用到的mongodb数据库(主要是地图中用到的)。发现mongodb默认data文件夹所在的盘符已经被占的没有空间了。怎么办,只能间data内的数据库拷贝出来,但是一看才发现,里面的库文件好大,基本上都是100g以上的
1、我试着到从 mongo启动参数 --dbpath入手,看能不能通过配置多个--dbpath来实现:mongodb能加载其他盘符上的数据,但是经过查阅资料发现此路不同。
2、于是开始翻看mongo的启动参数,ok找到了,找到一个叫做directoryperdb 的参数,意思是:dbpath所指的文件夹下的数据库文件是否都是存在一个单独的文件夹里。ok,这就是我想要的。
3、那么问题就简单了,把数据属于是同一个库的数据库文件,都放到文件夹里,记得文件夹名称要与库名称保持一致。mongo会自识别对应的数据库文件。然后新建一个文件夹快捷方式指向到外部盘符的数据库文件像这样:(windows平台)mklink /D D:\mongodbData\VMS I:\VMS
4、mongodb 服务端启动命令:
d:
cd D:\Program Files (x86)\MongoDB\Server\3.0\bin
mongod.exe --dbpath "D:\mongodbData" --directoryperdb --journal
ok 已经好了,是不是很简单呢?
---------------------
作者:xsgkaka
来源:CSDN
原文:https://blog.csdn.net/xsgkaka/article/details/53261542
版权声明:本文为博主原创文章,转载请附上博文链接!
参考技术A 在MongoDB中,文档是对数据的抽象,它被使用在Client端和Server端的交互中。所有的Client端(各种语言的Driver)都会使用这种抽象,它的表现形式就是我们常说的BSON(Binary JSON )。
BSON是一个轻量级的二进制数据格式。
MongoDB能够使用BSON,并将BSON作为数据的存储存放在磁盘中。
当Client端要将写入文档,使用查询等等操作时,需要将文档编码为BSON格式,然后再发送给Server端。同样,Server端的返回结果也是编码为BSON格式再放回给Client端的。本回答被提问者和网友采纳

mongodb 安装配置管理-- 网络摘抄

一、下载安装:

地址:上MongoDB官网 ,下载适合的自己电脑系统相对应的版本,安装到合适的位置。我这里下载的为:

二、开启服务与关闭

    创建数据库目录D:\\mongodb\\data,接下来打开cmd命令行窗口,切换到D:\\mongodb\\bin 目录执行如下命令(其中 --dbpath是指定数据库存放目录,这里要注意有两个 "-"):

mongod --dbpath D:\\MongoDB\\data

这时命令行窗口会打印一些启动信息,最后一行显示为如下信息时表示启动成功了.

2014-04-23T10:38:48.391+0800 [initandlisten] waiting for connections on port 27017

这时在浏览器输入http://localhost:27017/可以看到显示信息为:

1.安装完毕之后,我的默认安装在  C:\\Program Files\\MongoDB  下面,bin目录的完整路径为 C:\\Program Files\\MongoDB\\Server\\3.2\\bin(以后要用到)

2.打开cmd(普通打开或者管理员打开均可),输入命令cd C:\\Program Files\\MongoDB\\Server\\3.2\\bin进入bin目录

3.继续输入命令mongod --dbpath=d:/data/db (d:/data/db是我指定的数据库文件存放地点,当然默认是c:/data/db)

4.如果之前是管理员身份的cmd,那就继续,否则重开个管理员身份的cmd,如果你已经有某个服务名了,比如MongoDB,那么先把这个删了,sc delete MongoDB

5.然后再次进入第二部的文件夹,输入命令 mongod --logpath d:\\data\\log\\MongoDB.log --logappend --dbpath d:\\data\\db --directoryperdb --serviceName MongoDB --install

6.继续输入指令net start MongoDB(MongoDB这个是第五步指定的服务名称)

 

好了,到这里可能会出现部分问题:比如:

72 Requested option conflicts with current storage engine option for directoryPerDB; you requested true but the current server storage is already set to false and cannot be changed, terminating

这个错误是在d:\\data\\log\\MongoDB.log 也就是第五步里面设置的log文件里面查看的。这个问题百度没有答案。。

修改方法为:注意看第六步的 有个单词“directoryperdb”,没错,去掉。。那么命令就变成 mongod --logpath d:\\data\\log\\MongoDB.log --logappend --dbpath d:\\data\\db --serviceName MongoDB --install这个了。。

然后继续第六步即可(涉及删除服务的,参照第四步)

 

 

虽然已经把服务弄成windows服务,每次连数据库的时候,不需要先去启动mongo服务了。。但是shell连接数据库还是要先cd到mongo安装的bin目录下。。很麻烦。。

接下来把bin目录写到系统变量里面:

  1. 进入到高级系统设置;
  2. 进入到环境变量;
  3. 在系统变量里面找到变量名为Path双击进入;
  4. 在变量值的结尾处加入;C:\\Program Files\\MongoDB\\Server\\3.2\\bin(这个就是mongo安装目录的bin目录,别漏掉了分号),保存;
  5. 再新建一个CMD,输入mongo试试。

以上是关于mongodb dbpath可以配置多个么的主要内容,如果未能解决你的问题,请参考以下文章

MongoDB 通过配置文件启动及注册服务

go任务调度10(操作mongodb)

Mongo DB install on windows 7 OS

mongodb配置和基本操作

mongodb 配置文件

从0实现分布式任务调度系统--MongoDB基础操作