您的位置:首页 > 数据库 > Mongodb

初学者创建多个MongoDB服务器遇到的几个问题

2018-03-02 17:39 183 查看
最近学习内容涉及到数据库的内容。因为慕课网上有mongodb的教程,就跟着视频教程做了一下。出现了几个理解性的问题,琢磨试验了很久,才算基本弄明白,在这里和大家分享一下。
先说一下背景:因为我以前曾经间断学习过MongoDB,所以电脑里面已经有了自己已经创建过的一个数据库。其地址为: D:\mongodb\data\data。我的MongoDB安装地址为:D:\mongodb

1.  讲讲解压后的bin目录和data目录

从官网上下载解压编译后的mongodb目录结构主要包括:bin和data目录(如果没有data目录需要自己创建,我忘了是否本来就有的),先说说bin目录。
对于初学者bin目录里面的程序主要有以下几个:
mongod.exe:  创建数据库服务器
mongo.exe: 可以理解为访问我们上面创建服务器的客户端
mongoimport.exe, mongoexport.exe,其他等,导入导出数据的程序,本篇文章不用,不多说。
data目录里面需要自己创建的文件夹和文件(未研究如果自己不创建的话程序是否自动创建,读者可以自行探索)包括:
(1)db文件夹:即我们的数据存放的地方
(2)log文件夹:日志文件存放的文件夹,例如mongod.log
(3)conf文件夹:存放我们对于服务器的配置的文件的文件夹,例如mongod.conf
以上文件的安排可以根据个人爱好在配置文件中修改,我们下面讲。

2 搭建服务器

进入命令行cmd工具,以管理员身份运行。
以我安装目录为例:进入到安装目录的bin目录下,运行mongod>C:\WINDOWS\system32>D:

>D:\>cd mongodb\bin

>D:\mongodb\bin>mongod运行结果为:



我们看第一行: mongodb启动,进程号8640,如果不指定参数的话,默认端口号27017, 数据库路径(dbpath):d:data\db
再看后面有:未找到d:data\db,所以服务启动失败了。
因此我们需要为mongod创建的服务器指定数据库地址,指定方案有两种,一种是直接命令行指定:mongod -dbpath "D:\mongodb\data\db"dbpath是mongod.exe搭建服务器的一个参数,这样的参数有很多(具体可以看http://www.mongodb.org.cn/tutorial/59.html),既可以在命令行直接指定,也可以我们单独创建一个配置文件将这样的参数全部写进去。这就是我们将的第二种方案:
首先在上述data\conf文件夹下创建mongod.conf,在里面可以写入我们对于所搭建服务器的基本配置(有个坑下面说):dbpath = D:\mongodb\data\db //指定数据库地址
logpath = D:\mongodb\data\log\mongod.log //指定日志文件地址
logappend = true // 日志是否延续
bind_ip = 127.0.0.1 //绑定ip
port = 3000 //端口
然后在命令行敲入:mongod --config "D:\mongodb\data\conf\mongod.conf"这样服务器就会按照我们的需求运行了。

3 访问服务器

只搭建服务器还不够,我们还需要能够访问操作这个服务器。此时我们需要另外再打开一个管理员cmd窗口。两个cmd可以理解为两个电脑,一个是服务器,一个是客户端。
在新窗口直接键入:mongo



失败了,因为我们没有为mongo指定访问端口,就和我们上网不指定网址一个道理。默认端口为27017,但此时我们开的是3000端口的服务器,所以会失败。
此时我们敲入:mongo 127.0.0.1:3000(这里我们实际上有个小细节没说,如果你失败了没关系,下面会说)



没毛病了,这就算打开一个服务了。

4 .几个说大不大的菜鸟坑

然而我想创建3000端口的服务器应该说并不是一帆风顺。
1. 数据库和服务器不是一对一的关系,不是说一个服务器(此时我们可以理解为一个端口,毕竟都是我们自己的唯一一台电脑),就是说你的27017端口服务器可以将任何一个你自己设置的文件夹设置为数据库的文件夹,而不是只能访问唯一的只在自己data文件夹下的数据。
2.可以同时搭建几个服务器,只要端口号不同就可以。
3.因为每次打开两个窗口都比较费时费事,所以可以将上面的启动服务器的语句后面加上一个 --install的命令:
mongod --config "D:\mongodb\data\conf\mongod.conf" --install通俗点理解就是将这个进程加入到了你Windows系统的后台中,下次启动时从windows后台启动就可以了:net start mongodb但是有个问题我还没有解决,就是如果有两个服务器,一个27017,一个3000,怎么将3000也加入到windows服务中呢?我尝试在配置文件中加入新服务器的名称,但是加入seviceName后,日志报出错误:



希望有解决的给我留言。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mongodb 服务 入门