记得在管理员模式下运行CMD,否则服务将启动失败。
详细图解,记录 win7 64 安装mongo数据库的过程。安装的版本是 MongoDB-win32-x86_64-2008plus-ssl-3.4.1-signed。
- 下载和安装,图有点多,不怕啰嗦,就怕不够。
图上的说的是刚刚安装完的时候的样子,打错字啦。
- 创建几个文件夹具体如下:数据库路径(data目录)、日志路径(logs目录)和日志文件(mongo.log文件)
注意文件夹的前后对比:
- 创建配置文件mongo.conf,文件内容如下:
#数据库路径
dbpath=D:Mongodata#日志输出文件路径logpath=D:Mongologsmongo.log#错误日志采用追加模式logappend=true#启用日志文件,默认启用journal=true#这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为falsequiet=true#端口号 默认为27017port=27017
- 启动MongoDB服务
mongod --config "D:Mongomongo.conf"
这个是使用自己刚刚在上面配置的配置文件来启动服务的。注意修改成自己的目录位置。额,这个当然是在cmd命令行窗口的对应安装bin目录下拉这个是在cmd命令行下执行这个命令的,执行完之后,命令行,似乎没什么太大的变动,然后你继续执行下面的步骤。这个步骤的截图,在下面的第四步里面是可以看到这个步骤的命令执行效果的。可以先看下下面的那个步骤图。
命令执行后,浏览器中输入:27017看到如下界面即说明启动成功
有的可能在这里失败了,也许页面并没有这么显示,但是不要紧,你看看刚刚的那个data目录下有没有文件生成,还有log文件有没有内容。如果有,那么就是服务启动了,还可以在任务管理器里面,看看有没有这么个mongo的服务存在。都是可以判断这个服务启动OK没有。
- 创建并启动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。在开启安全检查之前,一定要至少有一个管理员账号。后面跟链接:
然后,把这个服务给卸载了(下面有讲解怎么卸载这个服务,我这就不重复啦),然后再次注册个服务的话,命令多添加个 --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我下载的到某度云盘的分享链接: 密码:iaie两个工具比较之后,可以发现这个mongoVUE的版本确实太低了。下一篇 有这个mongoVUE的版本图。
如果需要卸载MongoDB服务,则还是在bin目录下,
mongod.exe --remove --serviceName "MongoDB"然后这个服务就删除了,然后你再在那个任务管理器里面就看不到这个服务啦。说明他就被干掉了。删除啦。
以后要是想停止这个服务,你就右键,启动任务管理器,选上面的服务,然后右下角的“服务(s)...”,然后找到那个名为MongoDB的系统服务,关掉就可以啦
至此,所有操作已完成,服务已成功安装。我就暂时先把这个mongo的数据库在我的电脑上装好,具体怎么使用。以后再说。
这个时候,再看刚刚我们新建的data文件夹和mongo.log两个文件的时候就发现里面有数据啦,也可以说明,这一路的操作都很OK的。
额,呵呵,就是我这图上传的有点多。。。
最后,每次要在命令行使用mongo命令,都得进入到对应的bin目录下,这样很是麻烦,何不配置个系统环境变量,方便直接使用,这个mongo命令
这样就可以直接在cmd命令行,不需要进行目录切换,就可以直接使用啦
关于数据库里面的test数据库存在与否的解释:
转自