zoukankan      html  css  js  c++  java
  • (windows)mongoDB3X+Robomongo的安装与基础配置

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

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

    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:mongodbdatadb 即可启动mongo服务在你没更改端口号的前提下可以通过访问

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

      

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

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

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

    在config里加入dbpath=D:mongodbdatadb logpath=D:mongodblogmongo.log 如下图

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

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

    mongod --logpath "D:mongodbdataloglog.log" --logappend --dbpath "D:mongodbdatadb" --directoryperdb --install

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

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

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

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

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

    这样安装基本完成

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

    补充

    数据库权限的设置

    通过mongod --auth --logpath "D:mongodbdataloglog.log" --logappend --dbpath "D:mongodbdatadb" --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:mongodbdataloglog.log" --logappend --dbpath "D:mongodbdatadb" --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"}]})

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

     

  • 相关阅读:
    NOIP2015 斗地主
    BZOJ 2120: 数颜色
    BZOJ 1014: [JSOI2008]火星人prefix
    BZOJ 4665: 小w的喜糖
    BZOJ 3665: maths
    BZOJ 3270: 博物馆
    BZOJ 1419: Red is good
    【转】二分图的最大匹配
    POJ 3026 Borg Maze(Prim+BFS建邻接矩阵)
    POJ 2485 Highway(Prim+邻接矩阵)
  • 原文地址:https://www.cnblogs.com/fengbingzi/p/5720335.html
Copyright © 2011-2022 走看看