详细图解mongodb下载、安装、配置与使用

记得在管理员模式下运行CMD,不然服务将启动失败。html

详细图解,记录 win7 64 安装mongo数据库的过程。安装的版本是 MongoDB-win32-x86_64-2008plus-ssl-3.4.1-signed。

- 下载和安装,图有点多,不怕啰嗦,就怕不够。mongodb

clipboard.png

clipboard.png

clipboard.png

clipboard.png

clipboard.png

clipboard.png

clipboard.png

clipboard.png

clipboard.png

clipboard.png
图上的说的是刚刚安装完的时候的样子,打错字啦。数据库

  • 建立几个文件夹具体以下:数据库路径(data目录)、日志路径(logs目录)和日志文件(mongo.log文件)

注意文件夹的先后对比:windows

clipboard.png

  • 建立配置文件mongo.conf,文件内容以下:

#数据库路径
dbpath=D:Mongodata
#日志输出文件路径
logpath=D:Mongologsmongo.log
#错误日志采用追加模式
logappend=true
#启用日志文件,默认启用
journal=true
#这个选项能够过滤掉一些无用的日志信息,若须要调试使用请设置为false
quiet=true
#端口号 默认为27017
port=27017浏览器

clipboard.png

  • 启动MongoDB服务

mongod --config "D:Mongomongo.conf"
这个是使用本身刚刚在上面配置的配置文件来启动服务的。注意修改为本身的目录位置。额,这个固然是在cmd命令行窗口的对应安装bin目录下拉这个是在cmd命令行下执行这个命令的,执行完以后,命令行,彷佛没什么太大的变更,而后你继续执行下面的步骤。这个步骤的截图,在下面的第四步里面是能够看到这个步骤的命令执行效果的。能够先看下下面的那个步骤图。安全

命令执行后,浏览器中输入http://127.0.0.1:27017看到以下界面即说明启动成功服务器

clipboard.png

clipboard.png
有的可能在这里失败了,也许页面并无这么显示,可是没关系,你看看刚刚的那个data目录下有没有文件生成,还有log文件有没有内容。若是有,那么就是服务启动了,还能够在任务管理器里面,看看有没有这么个mongo的服务存在。都是能够判断这个服务启动OK没有。app

  • 建立并启动MongoDB服务
    若是每次都如上操做,岂不是至关麻烦,按照以下命令来建立并启动MongoDB服务,就能够经过windows服务来管理MongoDB的启动和关闭了

mongod --config "D:Mongomongo.conf" --install --serviceName "MongoDB"
net start MongoDB
上面是2行的命令dom

clipboard.png

clipboard.png
这个服务的启动,是有点特殊的。是不须要登陆验证的,就是没有密码也能够登陆。具体看下图。这个是用mongoVUE登陆看到的效果工具

clipboard.png

clipboard.png
等一下,图上的描述不是很正确,应该是我就建立了一个数据库叫lxkdb,上面的另外的2个一个叫admin,和local都是安装完mongo db以后,自动生成的数据库。

也能够看到上面并不存在一个叫test的数据库,因此说,系统默认存在一个叫test数据库的说法是错误的。下面还会解释这个问题。
这句话是后来更新的:上面说这个test不存在,也不彻底对,具体看最下面的解释吧。先不在乎这个

其中admin这个数据库存放的是用户信息。
关于这个用户信息,不是咱们想的那么简单的只是存个用户名和密码就完了。
MongoDB 缺省是没有设置权限的,也就是说,没有设置访问权限。
这就意味着只要知道 MongoDB 服务器的端口,任何能访问到这台服务器的人均可以查询和操做 MongoDB 数据库的内容。
也就是像我上面测试的那样,啥也不输入,均可以直接测试链接OK。
因此:加上 --auth 这样之后就可使用用户名和密码后才能进行MongoDB的相关操做
MongoDB 的用户和权限,这个有点复杂,先有个印象。

数据库用户有两种,一种是管理员,用来管理用户,一种是普通用户,用来访问数据。
(后面我会继续说说这个两种权限的数据库用户是到底怎么在用的)


注意:

下面这个带权限控制的安装服务,你呢,暂时先别整,这个权限你要是开了的话,必须先在数据库里面建个帐户和密码。
这个就像你在把锁锁住以前得先准备好钥匙的道理似的。因此,在你不了解这个权限的状况下,暂时还不是先不加这个权限控制。
等看了怎么新建管理用户和通常数据库用户以后再打开这个权限。后面我再好好总结一下。


关于--安全和认证--的解释:

每一个MongoDB实例中的数据库均可以有许多用户。若是开启了安全性检查,则只有数据库认证用户才能执行读或者写操做。
在认证的上下文中,MongoDB会将普通的数据做为admin数据库处理。admin数据库中的用户被视为超级用户(即管理员)。
在认证以后,管理员能够读写全部数据库,执行特定的管理命令,如listDatabases和shutdown。
在开启安全检查以前,必定要至少有一个管理员帐号。

后面跟连接:详细图解记录 win7 64 mongodb 新建管理者帐户和通常帐户的例子

而后,把这个服务给卸载了(下面有讲解怎么卸载这个服务,我这就不重复啦),而后再次注册个服务的话,命令多添加个 --auth。

mongod --config "D:Mongomongo.conf" --auth --install --serviceName "MongoDB"
net start MongoDB
也能够在配置文件里面再加一个auth=true的配置。效果差很少吧。
而后就不能没有密码直接登陆啦。

注意啦:这个mongoVUE的版本过低了,致使即便你帐号密码OK,仍是会出现异常的状况,在我经历了屡次卸载重装服务以后,换了个mongo数据库工具,特么的可算是OK了。
那就暂时先无论这个工具的报错了吧。下一篇我示范如何使用这个数据库,在这知道这个权限问题,就好。
并且这个权限问题,非常麻烦。

clipboard.png
刚刚安装好的mongo服务有个默认的数据库,test,user 的name和pwd都是test。以下图。

clipboard.png
点test,测试一下,链接是否是OK的。而后就有上图了
原本我是看别人的文章上说,mongo刚刚安装完毕的时候,是有个test数据库,而后用户名和密码都是test,而后我用那个mongoVUE这个可视化工具测试了下。
发现测试链接是OK的,也就是如图上所示。而后我就 觉得真的是有这个数据库存在的,可是后来又想了想,不对呀,好像不是这样的。
后面我反复测试那个权限问题的时候,发现,这个mongoVUE,即便你不填写用户名和密码,随便填写个数据库名称,而后测试链接,也是能够测试OK的。

clipboard.png
可是我用另外一个新发现的mongo数据库工具,就没有这个问题。

clipboard.png
并且也用这个mongo数据库工具,能够看到那个 --auth的效用仍是存在的,我这个暂时还没测试,无权限管控的启动服务,而后用这个登陆数据库看看啥状况。
有空了,或者,看官你测试一下呗。就是刚刚没加--auth启动服务的时候,是否是不用帐户密码,就可以使用这个工具连上数据库。

这个工具的网址,算是个开源的项目吧。
Robomongo 0.9.0
http://blog.robomongo.org/rob...
我下载的到某度云盘的分享
连接:http://pan.baidu.com/s/1bp8ALDP 密码:iaie

两个工具比较以后,能够发现这个mongoVUE的版本确实过低了。下一篇 有这个mongoVUE的版本图。

若是须要卸载MongoDB服务,则仍是在bin目录下,
mongod.exe --remove --serviceName "MongoDB"

clipboard.png
而后这个服务就删除了,而后你再在那个任务管理器里面就看不到这个服务啦。说明他就被干掉了。删除啦。

之后要是想中止这个服务,你就右键,启动任务管理器,选上面的服务,而后右下角的“服务(s)...”,而后找到那个名为MongoDB的系统服务,关掉就能够啦

clipboard.png
至此,全部操做已完成,服务已成功安装。
我就暂时先把这个mongo的数据库在个人电脑上装好,具体怎么使用。之后再说。

这个时候,再看刚刚咱们新建的data文件夹和mongo.log两个文件的时候就发现里面有数据啦,也能够说明,这一路的操做都很OK的。

clipboard.png

clipboard.png
额,呵呵,就是我这图上传的有点多。。。

最后,每次要在命令行使用mongo命令,都得进入到对应的bin目录下,这样非常麻烦,何不配置个系统环境变量,方便直接使用,这个mongo命令

clipboard.png
这样就能够直接在cmd命令行,不须要进行目录切换,就能够直接使用啦

clipboard.png
关于数据库里面的test数据库存在与否的解释:

clipboard.png

clipboard.png

转自 http://www.cnblogs.com/sweetc...