Windows环境下 mongodb 安装爬坑

下载:

  1. 最新版的直接官网download
  2. 历史版本
  3. 本博客示例为3.4版本安装包(.msi后缀)

安装:

  1. 双击安装包,一路next,注意的地方:,安装目录最好不要放c盘,最好不要有空格,在“Custom”选项下自定义路径,例如:‘D:\mongodb\’
  2. 安装完成后,进入d:\mongodb\目录,创建data文件夹,在data文件夹内创建db文件夹
  3. 进入d:\mongodb\bin目录,执行:mongod --dbpath d:\mongodb\data\db 运行mongodb数据库
  4. 打开浏览器输入localhost:27017,如果没有界面多刷新几次。出现如下字符串,则说明启动成功: It looks like you are trying to access MongoDB over HTTP on the native driver port.
  5. 日志收集和处理:
    • 在d:\mongodb\目录下新增logs目录
    • 启动命令修改为 mongod --dbpath d:\mongodb\data\db --logpath "d:\mongodb\logs\mongodb.log" --logappend
    • 解释: –logpath是日志路径, –logappend 是以追加的方式写日志
  6. 修改默认端口:mongod --port 18888 "d:\mongodb\data"

启动mongodb服务

  1. 在d:\mongodb\目录创建 mongo.config 文件输入以下内容:

    dbpath=D:\mongodb\data\db
    logpath=D:\mongodb\logs\mongodb.log
  2. 以管理员权限启动cmd,cd 到 d:\mongodb\bin 目录,执行:mongod --config "D:\mongodb\mongo.config" --install --serviceName "MongoDB" 命令创建windows服务
  3. 启动mongodb服务:net start mongodb

创建用户连接

  1. 打开mongo终端(没配置环境变量的去d:\mongodb\bin下打开即可)

        # 进入bin目录
        cd d:mongodn/bin
        # 打开mongo终端
        ./mongo
        # 切换到admin用户
        use admin
        # 创建用户表和用户
        db.createUser(
          {
            user: "admin",
            pwd: "******",
            roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
          }
        )
    
        # 新打开终端测试连接
        mongo --port 27017 -u "admin" -p "******" --authenticationDatabase "admin"
        # 能成功登陆即可
  2. 参考博客

开启认证模式登陆

  1. 删除当前服务:sc stop mongodb && sc delete mongodb
  2. 测试开启认证登陆:mongod --auth --dbpath d:\mongodb\data\db --logpath "d:\mongodb\logs\mongodb.log" --logappend
    • 不用用户名密码登陆也能进去,但是不能进行任何操作…
  3. 重新生成mongodb服务:mongod --auth --config "D:\mongodb\mongo.config" --install --serviceName "MongoDB"
  4. 启动mongodb服务:net start mongodb
  5. 登陆测试:mongo --port 27017 -u "admin" -p "******" --authenticationDatabase "admin"
    • 在写篇文章时,我也不会用mongodb,跑了下SQL语句:show dbs;能查到数据库的内存使用情况,具体的后面在学习咯

创建数据库

  1. 在MongoDB中创建的用户只能在本数据库中使用,切换数据库无法使用,即,在admin数据库中创建的admin用户,切换到tom数据库,就无法登陆

        use tom
        db.auth('tom', '******')
        // 此处会报错 Error: 18 Authentication failed.
    
        // 切换为admin则可以正常登录
        db.auth('admin', '******')
        // 返回结果为: 1,表示登录成功
  2. 现在需要新开个项目Blog,创建数据库:myblog,对应的用户:blog,密码:myBlogSecret

        use admin
        db.auth("admin","******")  
    
        use myblog
        db.createUser(  
          {  
            user: "blog",  
            pwd: "myBlogSecret",  
            roles: [ { role: "dbOwner", db: "myblog" } ]  
          }  
        )  
    
        db.auth("blog","myBlogSecret")
        // 最终返回为1,则说明创建数据库和数据库拥有者成功

可视化界面工具:node版

  1. adminMongo
  2. 克隆到本地:git clone https://github.com/mrvautin/adminMongo.git
  3. 安装依赖:cd adminMongo && npm install
  4. 运行:node app,打开浏览器,进入localhost:1234即可访问到mongodb图形界面
  5. 持久化运行:可选以下两种方式
    • 使用pm2在后台运行:pm2 start app.js
    • 打包为ElectronApp,生成桌面快捷方式运行
  6. 登录:同项目中登录:mongodb://admin:******@127.0.0.1:27017/admin

常见问题:

  1. 怎么以管理员权限启动cmd?
    • 按下 windows + R 键,输入cmd,上方会出现cmd.exe
    • 右键单击并选择“以管理员身份运行”即可打开管理员权限的cmd命令行
    • 输入 d: 即可切入到d盘根目录,输入cd mongodb\bin\ 即可进入bin目录
  2. 怎么删除windows服务:net delete mongodb
  3. 怎么停止服务:net stop mongodb

你可能感兴趣的:(MongoDB)