MongoDB默认安装并没有开启用户名密码登录,这样太不安全了,百度出来的开启验证登录的文章,对初次使用MongoDB的小白太不友好了,总结下经验,自己写一份指引。

1,我的安装路径是C:\Program Files\MongoDB\Server\4.0\bin

2,我是安装在window10系统下的

3,直接做成系统服务(哪程序员每次用下MongoDB还要手动开启的,这太不程序员了,程序员不就图个懒字嘛),在C:\Program Files\MongoDB\  下创建一个记事本,命名为mongod.cfg写入以下配置内容,注意要设置日志的path和数据库的path,我是设置在D:\MongoDB\目录下的,目录要自己去建。

systemLog:
destination: file
path: "D:\MongoDB\log\mongo.log"
logAppend: true
storage:
dbPath: "D:\MongoDB\db"
journal:
enabled: true
security:
authorization: "enabled"
net:
# bindIp: 127.0.0.1
bindIpAll: true
port:
setParameter:
enableLocalhostAuthBypass: false

然后点开cmd,右键以管理员身份运行,输入

cd C:\Program Files\MongoDB\Server\4.0\bin

进入MongoDB目录,然后输入(有可能出错的情况是,cfg文件里面用tab去代替空格,会导致出错)

mongod --config "C:\Program Files\MongoDB\Server\mongod.cfg" --install --serviceName "MongoDB_Svr" --serviceDisplayName "MongoDB_Svr"

对应的删除系统服务的代码如下,直接在cmd窗口输入

sc delete MongoDB_Svr

注意,这时服务并没有启动,我们先不要启动服务,下面先添加管理员用户

4,打开CMD

cd C:\Program Files\MongoDB\Server\4.0\bin

然后开启一个无需验证用户的MongoDB服务

modgod --dbpath="D:\MongoDB\db"

然后这个cmd就留着,进入文件夹 C:\Program Files\MongoDB\Server\4.0\bin 双击 mongo.exe打开命令窗口

粘贴下面代码,运行

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

使用 db.system.users.find() 可查看所有用户

然后

db.auth("myadmin","")

假设你创建了一个TestDB的数据库,如果要设置这个数据库的用户

use TestDB
db.createUser(
{
user: "phoenix",
pwd: "",
roles: [
{ role: "readWrite", db: "TestDB" },
]
}
)

这样就能用phoenix 和 123456789登陆TestDB数据库了

其它可用的命令还有

删除用户db.dropUser("TestDB")
删除用户要注意的就是要到对应的数据库下删除用户。 查看数据库show dbs 开启服务=>cmd下运行net start MongoDB_Svr
停止服务=>cmd下运行net stop MongoDB_Svr

附:

mongodb内置角色:
. 数据库用户角色:read、readWrite;
. 数据库管理角色:dbAdmin、dbOwner、userAdmin;
. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
. 备份恢复角色:backup、restore;
. 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
. 超级用户角色:root
. 内部角色:__system

windows系统,MongoDB开启用户验证登录的正确姿势的更多相关文章

  1. windows 7 系统下,用户每次登录都是以临时配置文件的形式存在于users文件夹下

    windows 7 系统下,用户每次登录都是以临时配置文件的形式存在于users文件夹下 当用户登录系统后,在users文件夹下创建的是一个临时文件夹,如果当前用户log off,那么当前用户的所有设 ...

  2. mongodb3.0分片及java代码连接操作测试(开启用户验证)

    最近抽时间搭建了一下mongodb简单的分片,整个过程还算是蛮顺利,只不过在用户验证这一块遇到了一些问题,好在最后终于搞定. 一.服务器搭建过程: 1.安装四个mongodb:一个作为config.一 ...

  3. MongoDB添加用户验证

    Mongodb默认启动是不带认证,也没有账号,只要能连接上服务就可以对数据库进行各种操作,这样可不行.现在,我们得一步步开启使用用户和认证. 第一步,我们得定位到mongodb的安装目录.我本机的是C ...

  4. django 使用其自带的验证系统 进行用户名有效性验证 登录状态验证 登入操作 登出操作

    from django.shortcuts import render, redirect from django.contrib.auth import authenticate, login, l ...

  5. windows server2012如何开启mysql远程登录

    开发的首要任务就是要搭建起自己的服务器,下面主要是我这搭建记录下 我的各种环境 服务器为Windows server2012  安装的MySQL数据的版本是5.6.10 ,64位.当然了版本对于安装没 ...

  6. Windows下MongoDB设置用户、密码

    在默认情况下,mongod是监听在127.0.0.1之上的,任何客户端都可以直接连接27017,且没有认证. 好处是,用户可以即时上手,不用担心被一堆配置弄的心烦意乱. 坏处是,公网服务器搭建Mong ...

  7. Express实例代码分析1——简单的用户验证登录文件

    /** * Module dependencies. */ var express = require('../..');// ../..是上级目录的上级目录 var hash = require(' ...

  8. Python基础-三次用户验证登录购买商品程序

    需求: 一:三次登录锁定 1.用户信息存放于文件中 2.尝试三次都失败,锁定用户 二.购物车功能要求: 要求用户输入总资产,例如:2000显示商品列表,让用户根据序号选择商品,加入购物车购买,如果商品 ...

  9. windows系统添加删除用户命令!

    参考:net   help   usernet   help   group Net   user添加或修改用户帐户或者显示用户帐户信息. 语法net   user   [UserName   [Pa ...

随机推荐

  1. Head First HTML和CSS(一)

    Web语言 HTML和CSS是我们用来创建网页的语言. Web服务器存储并提供由HTML和CSS创建的网页,浏览器获取页面,并根据HTML和CSS显示网页的内容 HTML是超文本标记语言(HyperT ...

  2. firewall 如何开放端口

    转自官方网页:http://www.firewalld.org/documentation/howto/open-a-port-or-service.html How to open port 80/ ...

  3. pt-summary

    pt-summary主要是用来统计机器信息: [root@mxqmongodb2 bin]# ./pt-summary # Percona Toolkit System Summary Report ...

  4. Win10 Docker修改镜像存储位置

    发生现象: 在windows10下安装docker for windows,随着用docker pull image文件后,C盘的容量越来越小了,你可能也有一种跟我一样的想法,想改变默认的安装路径,本 ...

  5. MongoDB命令及其MongoTemplate的混合讲解

    前言 前面讲解了如何在springboot中集成mongodb,本文将讲解mongodb命令操作及其MongoTemplate的使用.穿插的目的在于不用先去寻找mongodb的命令又去寻找在java中 ...

  6. 沉淀再出发:再谈java的多线程机制

    沉淀再出发:再谈java的多线程机制 一.前言 自从我们学习了操作系统之后,对于其中的线程和进程就有了非常深刻的理解,但是,我们可能在C,C++语言之中尝试过这些机制,并且做过相应的实验,但是对于ja ...

  7. NJCTF2017 web getflag(详解)

    题目: url:http://218.2.197.235:23725/ writeup: 首先随便输入后查看源码: <imgsrc="data:image/png;base64,Y2F ...

  8. office2013密钥

    GYWDG-NMV9P-746HR-Y2VQW-YPXKK6HDB9-BNRGY-J3F83-CF43C-D67TXG9N3P-GRJK6-VM63J-F9M27-KHGXKX2YWD-NWJ42-3 ...

  9. web-ctf随机数安全

    rand() 函数在产生随机数的时候没有调用 srand(),则产生的随机数是有规律可询的. 产生的随机数可以用下面这个公式预测 : state[i] = state[i-3] + state[i-3 ...

  10. Js 中的 this

    Js 中 this 的理解   this 是啥 ? this是 JavaScript 语言的一个关键字,它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用; 随着函数使用场合的不同,this ...