zoukankan      html  css  js  c++  java
  • MongoDB Windows环境安装及配置

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

     

    记得在管理员模式下运行CMD,否则服务将启动失败

    转载:http://blog.csdn.net/boby16/article/details/51221474

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

    我下载的源文件:mongodb-win32-x86_64-2008plus-ssl-3.4.1-signed
    我的系统:win 7 64 bit 8g内存
    为了方便下载,我把我当时下载的这个包,放在某度的云盘上。
    链接:http://pan.baidu.com/s/1o80MF1o 密码:fi3k

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

    注意这个安装的位置,下面要用呢。

    图上的说的是刚刚安装完的时候的样子,打错字啦。

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

    注意文件夹的前后对比:

    2. 创建配置文件mongo.conf,文件内容如下:

    1. #数据库路径  
    2. dbpath=D:Mongodata  
    3. #日志输出文件路径  
    4. logpath=D:Mongologsmongo.log  
    5. #错误日志采用追加模式  
    6. logappend=true  
    7. #启用日志文件,默认启用  
    8. journal=true  
    9. #这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false  
    10. quiet=true  
    11. #端口号 默认为27017  
    12. port=27017   


    3. 启动MongoDB服务

    mongod --config "D:Mongomongo.conf" 
    这个是使用自己刚刚在上面配置的配置文件来启动服务的。注意修改成自己的目录位置。额,这个当然是在cmd命令行窗口的对应安装bin目录下拉

    这个是在cmd命令行下执行这个命令的,执行完之后,命令行,似乎没什么太大的变动,然后你继续执行下面的步骤。

    这个步骤的截图,在下面的第四步里面是可以看到这个步骤的命令执行效果的。可以先看下下面的那个步骤图。
    命令执行后,浏览器中输入http://127.0.0.1:27017看到如下界面即说明启动成功

    有的可能在这里失败了,也许页面并没有这么显示,但是不要紧,你看看刚刚的那个data目录下有没有文件生成,还有log文件有没有内容。如果有,那么就是服务启动了,

    还可以再,任务管理器里面,看看有没有这么个mongo的服务存在。都是可以判断这个服务启动OK没有。

    4. 创建并启动MongoDB服务
    如果每次都如上操作,岂不是相当麻烦,按照如下命令来创建并启动MongoDB服务,就可以通过windows服务来管理MongoDB的启动和关闭了

    mongod --config "D:Mongomongo.conf"  --install --serviceName "MongoDB"
    net start MongoDB

    上面是2行的命令

    这个服务的启动,是有点特殊的。是不需要登录验证的,就是没有密码也可以登录。具体看下图。这个是用mongoVUE登录看到的效果

    等一下,图上的描述不是很正确,应该是我就创建了一个数据库叫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了。

    那就暂时先不管这个工具的报错了吧。下一篇我示范如何使用这个数据库,在这知道这个权限问题,就好。

    而且这个权限问题,很是麻烦。

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

    点test,测试一下,连接是不是OK的。然后就有上图了

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

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

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

    这个工具的网址,算是个开源的项目吧。

    Robomongo 0.9.0
    http://blog.robomongo.org/robomongo-0-9-0-final/
    我下载的到某度云盘的分享
    链接:http://pan.baidu.com/s/1bp8ALDP 密码:iaie

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

    如果需要卸载MongoDB服务,则还是在bin目录下,
    mongod.exe --remove --serviceName "MongoDB"

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

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



    至此,所有操作已完成,服务已成功安装。
    我就暂时先把这个mongo的数据库在我的电脑上装好,具体怎么使用。以后再说。

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

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

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

    这样就可以直接在cmd命令行,不需要进行目录切换,就可以直接使用啦

     

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

  • 相关阅读:
    android 数据绑定(6)自定义绑定方法、双向数据绑定
    android apk瘦身(2) R8编译器:压缩代码、压缩资源、优化代码
    Kotlin 泛型
    android 数据绑定(5) kotlin 的binding bug
    android 数据绑定(4)实用特性及疑惑:使用控件、格式化@string/xxx、对象传递、双向数据绑定
    android apk瘦身(1) 使用矢量图 和 webp,去掉多余cpu架构的库文件
    android 数据绑定(3)自动更新UI
    android 数据绑定(2)绑定表达式
    android 数据绑定(1)Ativity、Fragment、Item绑定数据源
    react.js中render的return的坑
  • 原文地址:https://www.cnblogs.com/roam/p/5510449.html
Copyright © 2011-2022 走看看