fengbingzi
懒癌患者

一开始安装的时候还觉得很简单真正装了时候发现网上的资料参差不齐再次整理一份安装方法

-------------------------------------------------------------------------------------------------

2016/8/27更新  推荐安装mongoVue使用它可以克隆远程数据库表到本地免费版整体感觉比robomongo好用

-----------------------------------------------------------------------------------

2016/9/22更新  推荐安装mongochef 这款软件免费 并且功能很强大 可以进行批量修改字段数据

-----------------------------------------------------------------------------------

分别去下载mongodb和robomongo 笔者这里的是mongo 3.0.5 Robomongo 是0.8.5分别一直按确认安装好后robomongo先不用管  

首先 mongodb需要自己手动创建数据库

笔者这里是在d盘创建一个mongodb的文件夹然后在其下创建data文件夹

 

在data下创建db和 log文件夹 

 

此时在log下面创建一个空的.log文件用于存放mongo运行时产生的日志文件

接下来让我们回到mongodb的安装目录 bin下面

按住shift再按鼠标右键会有一个在此处打开命令窗口

在命令窗口下敲mongod --dbpath D:\mongodb\data\db 即可启动mongo服务在你没更改端口号的前提下可以通过访问

 http://localhost:27017来确认的服务启动

  

 在命令窗口按mongo即可进入数据库(数据库的相关命令自行搜索了解这里不再多说)使用crtl+c 退出数据库

接下来我们要做的就是将mongodb设置为一个服务使其可以开机启动要不然我们每次都要通过手动打开

首先在d:\mongodb下新建文件mongo.config

在config里加入dbpath=D:\mongodb\data\db logpath=D:\mongodb\log\mongo.log 如下图

保存后退出(config文件中还能加入更多参数其意义用法可以自行搜索了解这里不再多说)

然后在bin目录下进入命令行输入

mongod --logpath "D:\mongodb\data\log\log.log" --logappend --dbpath "D:\mongodb\data\db" --directoryperdb --install

按回车后就成功的注册了一个mongo服务会在开机的时候自行启动在命令行输入services.msc会在进程中看进程

这样基本上 mongodb的安装也就完成 也能在开机时自行启动服务

你可以在命令行下输入sc delete来来删除已经注册的mongo服务

以后只需在bin目录下下打开命令行输入mongo

即可进入数据库接下来打开robomongo create一个连接连接即可进入图形化的界面操作数据库

这样安装基本完成

------------------------------------------------------------------------------

补充

数据库权限的设置

通过mongod --auth --logpath "D:\mongodb\data\log\log.log" --logappend --dbpath "D:\mongodb\data\db" --directoryperdb --reinstall可以对mongo设置权限登陆 

一般admin要有读写和赋予角色的能力所以这里我给创建的admin设置的两种角色

注意mongodb 3X版本的用户是这样创建的(网上好多教程都是老版本的WTF)

db.createUser({user:"admin",pwd:"admin",roles:[{"role":"userAdminAnyDatabase","db":"admin"},{"role":"readWriteAnyDatabase","db":"admin"}]})

admin常用的四种角色如下:

readAnyDatabase:在admin数据库下建立,可以读取所有数据库的信息

readWriteAnyDatabase:在admin数据库下建立,可以读写所有数据库的信息

userAdminAnyDatabase:在admin数据库下建立,可以管理所有数据库的用户

dbAdminAnyDatabase:在admin数据库下建立,可以管理所有数据库的信息(类似于所有数据库的dbAdmin账户)

其它角色可以去官方文档看

使用权限启动后需要现在admin数据库下授权才能继续进行操作 --  db.auth("user","password"); 然后你可以进行增加用户等等各种操作

针对robomongo无法授权(即需要设立权限角色连接入数据库)mongodb 3X版本的问题

首先在非-auth 在命令行输入mongod --logpath "D:\mongodb\data\log\log.log" --logappend --dbpath "D:\mongodb\data\db" --directoryperdb --reinstall

然后直接进入数据库执行

db.system.version.update({ "_id" : "authSchema"},{$set: {"currentVersion" : 3} }) ;

db.createUser({user:"admin",pwd:"admin",roles:[{"role":"userAdminAnyDatabase","db":"admin"},{"role":"readWrite","db":"test"}]})

然后再以授权的方式重新注册服务启动后即可解决问题

 

 

posted on 2016-07-31 21:19  fengbingzi  阅读(949)  评论(0编辑  收藏  举报