1. 先从官网下载mongo安装包(建议安装3.0之后的版本)版本选择下载链接:

    https://www.mongodb.org/dl/win32/x86_64-2008plus-ssl?_ga=2.21045944.28077375.1495245189-20472680.1495115198

  2. 将mongodb安装在d:\mongodb下
  3. 创建数据库文件的存放位置,比如d:/mongodb/data(启动mongodb服务之前必须创建数据库的存放文件夹,否则不会自动创建,而且不能启动成功)
  4. 在d:\mongodb\log下新建文件夹log(存放日志文件)并且新建文件mongodb.log
  5. 在d:\mongodb新建文件mongo.config配置文件
    dbpath=D:\mongodb\data
    logpath=D:\mongodb\log\mongo.log
  6. 在环境变量中配置mongodb安装路径
  7. 打开命令行行启动mongod:mongod --config D:\mongodb\mongo.config( mongod --config D:\mongodb\mongo.config --install --serviceName "MongoDB"开机启动)
  8. 重新打开一个命令行输入:mongo
  9. 创建超级用户(需要先进入admin数据库,没有就创建):
    - use admin
    - db.createUser(
    -   {
    -     user: "admin",
    -     pwd: "admin",
    -     roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
    -   }
    - )

    # 创建低权限的用户
    - db.createUser(
    -   {
    -     user: "myuser",
    -     pwd: "myuser",
    -     roles: [ { role: "readWrite", db: "mydb" } ]
    -   }
    - )
  10. 在配置文件mongo.config中添加:auth=true
    dbpath=D:\mongodb\data
    logpath=D:\mongodb\log\mongo.log
    auth=true

11. 重启mongod: mongod --config D:\mongodb\mongo.config

12. 打开另一个命令窗口下连接mongo:

mongo
show dbs(显示无权访问)
# 因为在admin数据库创建的,只能在 admin 数据库中登录,不能在其他的数据库中认证
# 认证之后就可以切换到其他的数据库进行相关操作
use admin
db.auth("xxxx","xxxx")
现在可以进行操作了

  • 解决Robomong连接问题

在使用Robomong连接需要通过密码验证的mongodb时,显示无法正常连接,现使用如下方法解决

 
1、删除以前创建的用户:db.dropUser("admin");
2、然后将mongdb.config :auth=true 删除
3、重启mongod、然后再连接
4、ues admin下 修改version:db.system.version.update({ "_id" : "authSchema"},{$set: {"currentVersion" : 3} }) 
5、重新创建用户:
db.createUser({user:"root",pwd:"123456",roles:[{"role":"root","db":"admin"}]})
6、重启mongdb服务,打开robomong,设置账号和密码(就是在mongo中设置的账号和密码)再次测试,就可以正常的链接了
 

开机之后如果mongod已启动,需要在后台关闭服务,然后再使用如下命令才能开启mongodb的安全验证
先命令行开启:mongod --config D:\mongodb\mongo.config
再命令行连接:mongo

Mongodb密码安全设置的更多相关文章

  1. 手把手教你设置MongoDB密码

    mongodb密码和传统数据如mysql等有些区别: mongodb的用户名和密码是基于特定数据库的,而不是基于整个系统的.所有所有数据库db都需要设置密码. 1. 查看所有数据库(在mongodb新 ...

  2. MongoDB安装并设置为windows服务以使其开机自启

    在MongoDB的官方下载windows平台的压缩zip文件,地址:https://www.mongodb.org/dr/fastdl.mongodb.org/win32/mongodb-win32- ...

  3. ios9怎么设置6位密码 ios9设置6位密码图文教程

    在原来的 iOS 系统中,只有四位数字密码与复杂密码之分,而在 iOS9 系统中却多出了一个六位数字密码,那ios9怎么设置6位密码,今天小编就为大家带来ios9设置6位密码图文教程   在原来的 i ...

  4. Oracle 11g sys,system 密码忘记设置解决办法

    原文:Oracle 11g sys,system 密码忘记设置解决办法 1.启动sqlplus 2.请输入用户名:  sqlplus/as sysdba 3.输入口令: 直接回车 4.连接到: Ora ...

  5. 修改MongoDB密码

    修改MongoDB密码 禁用管理员(root)密码 1.找到配置文件mongod.conf,并进入 vim /etc/mongod.conf 2.禁用管理员(root)密码 找到: security: ...

  6. AndroidStudio制作“我”的界面,设置,修改密码,设置密保和找回密码

    前言 大家好,给大家带来AndroidStudio制作"我"的界面,设置,修改密码,设置密保和找回密码的概述,希望你们喜欢 学习目标 掌握修改密码功能的开发,和实现用户密码的修改: ...

  7. Linux免密码登录设置

    Linux免密码登录设置 假设要登录的机器为192.168.1.100,当前登录的机器为192.168.1.101. 首先在101的机器上生成密钥(如果已经生成可以跳过): $ ssh-keygen ...

  8. 无法连接mysql,请检查mysql是否已启动及用户密码是否设置正确

    安装好后,登录后台提示 无法连接mysql,请检查mysql是否已启动及用户密码是否设置正确 检查mysql是否启动netstat -lnpt是否有3306端口? 一 有A 检查/www/wdlinu ...

  9. Oracle密码过期设置和修改密码问题

    Oracle密码过期设置和修改密码问题 学习了:https://jingyan.baidu.com/article/ce09321b5608612bff858ff3.html sqlplus / as ...

随机推荐

  1. 深入学习 DUBBO

    1.什么是 RPC 协议? RPC 的全称是 Remote Procedure Call 是一种进程间通信方式.它允许程序调用另一个地址空间(通常是共享网络的另一台机器上)的过程或函数,而不用程序员显 ...

  2. Hexo + Github Pages 搭建个人博客

    之前一直想搭建自己的博客,由于自己的懒惰拖到现在.好了,废话不多说!直接上干货! 安装Node.js 安装Git Github Pages配置 安装Hexo及主题设置 进阶篇-高级定制 其它实用功能 ...

  3. First Article

    Hello World 愚人节的这天,我在我师傅的引导下,踏上了博客园这条不归路...... 先做下自我介绍,我姓李,木子李,因为本人比较中二,所以大家就叫我李中二吧! 工作是前端开发,目前正在深圳一 ...

  4. Myeclipse8.5开发-安装一:Myeclipse8.5注册码生成程序

    环境:Myeclipces8.5 1.安装Myeclipces8.5. 2.打开Myeclipces新建任意项目. 3.新建MyEclipseKeyGen.java类.点击运行,控制台输入您的注册名, ...

  5. 使用python解数独

    偶然发现linux系统附带的一个数独游戏,打开玩了几把.无奈是个数独菜鸟,以前没玩过,根本就走不出几步就一团浆糊了. 于是就打算借助计算机的强大运算力来暴力解数独,还是很有乐趣的. 下面就记录一下我写 ...

  6. 微信和支付宝支付模式详解及实现(.Net标准库)- OSS开源系列

    支付基本上是很多产品都必须的一个模块,大家最熟悉的应该就是微信和支付宝支付了,不过更多的可能还是停留在直接sdk的调用上,甚至和业务系统高度耦合,网上也存在各种解决方案,但大多形式各异,东拼西凑而成. ...

  7. mysql加密解密方式用法

    如果你使用的正是mysql数据库,那么你把密码或者其他敏感重要信息保存在应用程序里的机会就很大.保护这些数据免受黑客或者窥探者的获取是一个令人关注的重要问题,因为你既不能让未经授权的人员使用或者破坏应 ...

  8. SQL Server 跨库复制表方法小笔记

    insert into tableA (column1,column2.....) SELECT * FROM OPENDATASOURCE('SQLOLEDB', 'Data Source=127. ...

  9. bigdecimal更精确的浮点处理方式

    Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算.双精度浮点型变量double可以处理16位内有效数,超过16位,double可能会出现内存 ...

  10. 使用纯CSS方案,解决垂直居中

    CSS是HTML元素的剪刀手,它极度的丰富了web页面的修饰.在众多CSS常见的样式需求中,有一奇葩式的存在[垂直居中],因为不管是从逻辑实现方面还是从正常需求量来讲,这都没理由让这个需求在实践过程中 ...