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

安装mongodb以及使用Robomongo

2016-08-08 14:16 381 查看
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之后的就可以连接成功。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: