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. Yii2高级模板vendor和application非同级目录部署

    上面是Yii2的高级模板,当我们有多个application的时候,这种高级模板可以可以提供很好的扩展性,多个application共用一份YII2框架,默认情况下,框架和application是在同 ...

  2. Tcl与Design Compiler (十一)——其他的时序约束选项(二)

    本文如果有错,欢迎留言更正:此外,转载请标明出处 http://www.cnblogs.com/IClearner/  ,作者:IC_learner 前面介绍的设计都不算很复杂,都是使用时钟的默认行为 ...

  3. Snapman开发接口

    #include "stdafx.h" #include <Windows.h> #include <string> #include<time.h& ...

  4. Wpf学习之路……

    Wpf学习之路-- Wpf是 .net中一门做winform的技术,和传统的winform的区别在于: 1.         原来的winform就是拖控件,而wpf的控件都死自己拿标记语言(xaml ...

  5. Python可视化学习(2):Matplotlib快速绘图基础

    Matplotlib将大部分的绘图对象都封装成为对象,故理论上所有的图表元素(如Line2D, Text,Label等)都是对象,都可以将其在图表中提取出来并配置实例的属性.同时,Matplotlib ...

  6. VS Code 的常用快捷键

    VS Code 的常用快捷键和插件 一.vs code 的常用快捷键 1.注释: a) 单行注释:[ctrl+k,ctrl+c] 或 ctrl+/ b) 取消单行注释:[ctrl+k,ctrl+u] ...

  7. 高性能MySQL--索引学习笔记(原创)

    看过一些人写的学习笔记,完全按书一字不漏照抄,内容很多,真不能叫笔记.遂自己整理了一份,取其精要. 更多笔记请访问@个人简书 [toc] 索引概述 索引即key 在存储引擎层实现,不同引擎工作方式不同 ...

  8. HDFS中NameNode启动过程

    移动到hadoop文件目录下 NameNode启动命令:sbin/hadoop-daemon.sh start namenode DataNode启动命令:sbin/hadoop-daemon.sh ...

  9. java抽象类和抽象方法之间的关系

    抽象类和抽象方法之间的关系有抽象方法的类,一定是抽象类:抽象类不一定有抽象方法当子类继承抽象类时,必须要将抽象类中的抽象方法全部实现(或者称为重写),否则子类依然是抽象类因为子类是继承父类全部内容,所 ...

  10. java类集框架(ArrayList,LinkedList,Vector区别)

    主要分两个接口:collection和Map 主要分三类:集合(set).列表(List).映射(Map)1.集合:没有重复对象,没有特定排序方式2.列表:对象按索引位置排序,可以有重复对象3.映射: ...