安装mongodb以及使用Robomongo

1、首先下载 MongoDB
MongoDB的官方网站是:http://www.mongodb.org/,
最新版本下载在:http://www.mongodb.org/downloads 。请注意下载适合自己系统的安装包,我选择的是:Windows 64-bit 2008 R2+。
下载后的文件名称是:mongodb-win32-x86_64-2008plus-ssl-3.0.1-signed.msi ,点击安装。


根据官方文档:http://docs.mongodb.org/manual/tutorial/install-mongodb-on-windows/
Starting in version 2.2, MongoDB does not support Windows XP. Please use a more recent version of Windows to use more recent releases of MongoDB.
大意是:从版本2.2开始,MongoDB不支持Windows XP。请用较新版本的Windows来使用MongoDB的最新版本。


2. 创建数据库文件的存放位置
在你安装MongoDB的bin 目录下打开cmd, 输入:mongod 回车启动服务。会看到:
Hotfix KB2731284 or later update is not installed.  以及 C:\data\db not found 的字样。
这就涉及到了两个问题了。先说第2个。
MongoDB默认数据库文件夹路径为C:/data/db(注:虽然是默认,但是需要你自己创建)。但也可以自己设置默认路径,比如d:/test/data/db。启动mongodb服务之前必须创建数据库文件的存放文件夹,否则不能启动成功。使用系统默认文件夹路径时,启动服务无需加 --dbpath 参数说明。如果不是默认路径,则启动服务格式有如下两种:
(1)mongod --dbpath 存放的路径。如:mongod --dbpath d:\test\data 【注:路径不能包含空格,否则使用第2种】
(2)mongod --dbpath "存放的路径" 。如 mongod --dbpath "d:\my text\data"


3.在浏览器中输入网址:http://localhost:27017/ 。如果服务启动成功会看到以下一段话:
It looks like you are trying to access MongoDB over HTTP on the native driver port.



4.回到 Hotfix KB2731284 or later update is not installed这个问题,从官方文档的另一段话:
If you are running any edition of Windows Server 2008 R2 or Windows 7, please installa hotfix to resolve an issue with memory mapped files on Windows.
大意是:如果您运行的是任何版本的Windows Server 2008 R2或Windows 7,请安装修复程序来解决一个内存映射文件在Windows的问题。

你需要从:https://support.microsoft.com/zh-cn/hotfix/kbhotfix?kbnum=2731284&kbln=zh-cn 下载 Fix405791 补丁,填写 邮箱,微软会发一个补丁下载路径的邮件给你,邮件下载地址是:http://hotfixv4.microsoft.com/Windows%207/Windows%20Server2008%20R2%20SP1/sp2/Fix405791/7600/free/451413_intl_x64_zip.exe。下载完成后点击解压成 Windows6.1-KB2731284-v3-x64.msu 文件,点击该文件,会安装补丁,该过程需要重启。


MongoDB提供了很多内建角色,用户通用的数据库管理。内建角色的文档在这里http://docs.mongodb.org/manual/reference/built-in-roles/。MongoDB提供了数据库管理权限和数据库用户权限两种类型,其他的权限只能作用于admin数据库上。具体如下:


(1).数据库用户角色
针对每一个数据库进行控制。
read :提供了读取所有非系统集合,以及系统集合中的system.indexes, system.js, system.namespaces
readWrite: 包含了所有read权限,以及修改所有非系统集合的和系统集合中的system.js的权限.


(2).数据库管理角色
每一个数据库包含了下面的数据库管理角色。
dbOwner:该数据库的所有者,具有该数据库的全部权限。
dbAdmin:一些数据库对象的管理操作,但是没有数据库的读写权限。(参考:http://docs.mongodb.org/manual/reference/built-in-roles/#dbAdmin)
userAdmin:为当前用户创建、修改用户和角色。拥有userAdmin权限的用户可以将该数据库的任意权限赋予任意的用户。


(3).集群管理权限
admin数据库包含了下面的角色,用户管理整个系统,而非单个数据库。这些权限包含了复制集和共享集群的管理函数。
clusterAdmin:提供了最大的集群管理功能。相当于clusterManager, clusterMonitor, and hostManager和dropDatabase的权限组合。
clusterManager:提供了集群和复制集管理和监控操作。拥有该权限的用户可以操作config和local数据库(即分片和复制功能)
clusterMonitor:仅仅监控集群和复制集。
hostManager:提供了监控和管理服务器的权限,包括shutdown节点,logrotate, repairDatabase等。
备份恢复权限:admin数据库中包含了备份恢复数据的角色。包括backup、restore等等。


(4).所有数据库角色
admin数据库提供了一个mongod实例中所有数据库的权限角色:
readAnyDatabase:具有read每一个数据库权限。但是不包括应用到集群中的数据库。
readWriteAnyDatabase:具有readWrite每一个数据库权限。但是不包括应用到集群中的数据库。
userAdminAnyDatabase:具有userAdmin每一个数据库权限,但是不包括应用到集群中的数据库。
dbAdminAnyDatabase:提供了dbAdmin每一个数据库权限,但是不包括应用到集群中的数据库。


(5). 超级管理员权限
root: dbadmin到admin数据库、useradmin到admin数据库以及UserAdminAnyDatabase。但它不具有备份恢复、直接操作system.*集合的权限,但是拥有root权限的超级用户可以自己给自己赋予这些权限。

以上摘自:http://debugo.com/mongo-auth/




这样配置之后,robomongo客户端还是无法连接,如下图所示:



最后经过查询各种资料原来是Robomongo的版本问题,robomongo-0.8满足不了mongodb3.0之后的版本,

所以把robomongo换成最新版的0.9之后的就可以连接成功。




  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值