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目录写到系统变量里面:
- 进入到高级系统设置;
- 进入到环境变量;
- 在系统变量里面找到变量名为
Path
双击进入; - 在变量值的结尾处加入;
C:\\Program Files\\MongoDB\\Server\\3.2\\bin
(这个就是mongo安装目录的bin目录,别漏掉了分号),保存; - 再新建一个CMD,输入
mongo
试试。
以上是关于mongodb dbpath可以配置多个么的主要内容,如果未能解决你的问题,请参考以下文章