win10下Mongodb4.4.1安装教程,配置用户名密码认证登录

标签: 工具安装  mongodb

最新版本的Mongodb安装教程
今天准备安装MongoDB,结果看了网上一些教程,基本上都过时了,都需要自建配置文件和路径,
网上很多都过时了,一上来就要建立配置文件的都是过时的,
新版本的MongoDB自带了配置文件,mongod.cfg在bin目录下,无需自己新建,若有需要,可以对该文件进行修改即可!
算是一波十折
注意:
梳理一下正确流程:

  • 一 环境准备

下载对应的Mongodb之后,安装到对应路径,接下来我以mgb为例。

  • 二 安装服务

1安装Mongodb服务
打开bin目录下的mongod.cfg文件:
在这里插入图片描述
可以看到已经给我们配置好了数据库存放路径和日志存放路径,还有网络设置,若需修改,直接在此处进行修改即可。
安装:

mongod --config "E:\mgb\bin\mongod.cfg" -install

不出现任何提示,即代表安装成功,
2启动Mongodb

net start MongDB (默认的服务名为MongoDB)
  • 1

第一次安装服务启动时,会容易报错,
错误: 启动MongoBD发生系统错误1058 无法启动服务
解决办法:删除当前的服务
sc delete 服务名
,并重新以管理员身份启动命令提示符
cd 到bin目录下,重新安装服务
mongod --config "E:\mgb\bin\mongod.cfg" -install即可,
输入net start MongDB 即可成功
在这里插入图片描述
3服务启动之后,输入mongo,即可自动与MongoDB数据库进行连接,出现对应的版本信息就代表连接成功在这里插入图片描述
另外,因为MongoDB shell是MongoDB自带的交互式javaScript shell,用来对MongoDB进行操作和管理,当我们进入到MongoDB后,会默认连接到test文档数据库,(输入db命令查看当前操作的文档 ,会出现test这个数据库。

MongoDB安装过程中出现service MongoDB failed to start,verify that you have sufficient privileges to start

按照上述步骤安装了vc_redist.x64.msi,安装过程还是无法启动,按下图操作即可正常启动mongodb服务:
技术图片

技术图片

 

MongoDB4.0.0配置用户名密码认证登录

1、创建管理员账户并赋予权限

打开cmd,输入mongo,进入mongodb的命令页面

 
> use admin #进入admin数据库
  switched to db admin
> db.createUser( {user: "root",pwd: "root",roles: [ { role: "root", db: "admin" } ]})
下面这种也行,就是复制进去难看.
db.createUser(
{
            user:"root",
            pwd:"z10113269",
            roles:[{role:"root",db:"admin"}]
        }
    )
用户添加成功会出现:成功的字样和添加的用户信息。 

user:”用户名“,

pwd:"密码”,

roles:指定用户的角色,可以用一个空数组给新用户设定空角色;在roles字段,可以指定内置角色和用户定义的角色。

注意一点,帐号是跟着库走的,所以在指定库里授权,必须也在指定库里验证(auth)。

具体用户权限:

read:允许用户读取指定数据库
readWrite:允许用户读写指定数据库
dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
root:只在admin数据库中可用。超级账号,超级权限。

 

2、修改配置文档mongod.cfg(位置:安装目录\bin 下)

首先,将bind_ip改为0.0.0.0 ,binIP关乎到访问连接的限制。

 
  1.   #bindIp: 192.168.0.136   #如果修改成本机Ip,那除了本机外的机器都可以连接

  2.   #bindIp: 0.0.0.0         #改成0,那么大家都可以访问(共赢)

  3.   #bindIp: 127.0.0.1       #改成127,那就只能自己练了(独吞)

然后找到 #security:去掉#号,改成下面这样,开启安全认证。

security:
    authorization: enabled #注意缩进,参照其他的值来改,若是缩进不对可能导致后面服务不能重启

冒号后有个空格.

如图: 

C:\javaee\MongoDB\Server\4.4\bin>mongod --config "C:\javaee\MongoDB\Server\4.4\bin\mongod.cfg" -install

win0用mongd重载配置文件后才能重启服务.

3、重启服务

重启MongoDB Server服务,启用认证!

 

4、验证登录

进入cmd,输入mongo,进入MongoDB shell.

直接输入命令会报错,因为没有认证登陆

 

5、接下来,进入账户所属数据库,再认证即可。

> use admin
switched to db admin
> db.auth("用户名","密码")
1
> show dbs
admin    0.000GB
config   0.000GB
local    0.000GB

 
#这样登陆成功了

6、以 Studio 3T 为例,在图形化界面的设置方式。

版权声明:本文为zouchangan原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/zouchangan/article/details/109324828

智能推荐

Tornado day02

一,项目模板: Tornado的项目也可以像Django和flask一样,将功能细分为几个模块 1.1 _ _ init _ _.py 1.2 setting .py 1.3 urls .py 1.4 views .py 1.5 manage .py 将这个模板拷贝下来,以后创建新项目的时候可以直接拷贝一份,在此模板上修改使用 文件链接 链接:https://pan.baidu.com/s/11E...

PAT乙级 | 1095 解码PAT准考证 (25分)(做题过程+注意事项+运行超时解决方法)

PAT 准考证号由 4 部分组成: 第 1 位是级别,即 T 代表顶级;A 代表甲级;B 代表乙级; 第 2~4 位是考场编号,范围从 101 到 999; 第 5~10 位是考试日期,格式为年、月、日顺次各占 2 位; 最后 11~13 位是考生编号,范围从 000 到 999。 现给定一系列考生的准考证号和他们的成绩,请你按照要求输出各种统计信息。 输入格式: 输入首先在一行中给出两个正整数 ...

谈谈Java异常

0 概述 对于java工程师来说,是经常和异常打交道的,本文主要来谈一谈java中的异常。 1 异常类的继承关系 从下图(说明:图中只是列出部分异常类)可以看出: 异常的基类为Throwable,主要分为两个分支,即Error体系和Exception体系。 Exception下面分为RuntimeException和非RuntimeException(如IOException) 2 几种异常的区别...

通过设立FatFS隐藏分区,实现系统文件和用户文件的隔离

嘛。。这是一个关于个人使用FatFS文件系统的 一点小的经验。 我知道大家都会百度和谷歌,关于文件系统有什么用,文件系统怎么移植上自己的平台,看看资料也就懂了,在这里不再详述( 打字太慢一分钟50-60字懒得写)。本系列默认已经可以将设备模拟成u盘,并且已经通过修改diskio.c,可以实现ff.c中的各项功能( 不能实现的自行面壁)。FatFS项目官网 http://elm-chan.org/f...

Mysql之锁与事务知识要点小结

Mysql之锁与事务 平时的业务中,顶多也就是写写简单的sql,连事务都用的少,对锁这一块的了解就更加欠缺了,之前一个大神分享了下mysql的事务隔离级别,感觉挺有意思的,正好发现一个很棒的博文,然后也收集了一些相关知识,正好来学习下,mysql中锁与事务的神秘面纱,主要内容包括 共享锁和排它锁的区别以及适合范围 mysql的表锁和行锁的区别 怎么判断一个sql是否执行了锁,执行的是表锁还是行锁 ...

猜你喜欢

响应式图片二 通过srcset实现

具体方法如下: srcset=”图片地址+空格+尺寸描述符,图片地址+空格+尺寸描述符,图片地址+空格+尺寸描述符….” 浏览器会当前浏览的环境进行感知,这个感知包括网速、界面分辨率、DPR(屏幕像素比)等等,然后在图片中选择一个进行加载。 实际上,在相同DPR下,浏览器会根据屏幕的分辨率加载图片,但是加载了大的图片后再缩小还是会使用大的图片。综合考虑的算法非...

Training_model(2)

已经清洗处理了两个数据文件: application_{train|test}.csv :客户详细信息 bureau.csv : 客户历史信用报告 下面对这两个数据中的特征进行合并,然后Light Gradient Boosting Machine训练模型,之前只用客户数据的预测评分结果是0.734,这次加入了客户信用报告信息 load data 新增加了客户历史信用记录 Build Model ...

微信小程序 页面跳转(传参跟不传参)

跳转页面传参 1.首先我的目录结构是这样的,并在 cinema.wxml 定义了一个点击事件 bindtap=‘indetai’ 2.然后在 cinema.js 的data里面定义了一个 score,并实现了 indetai 方法 3.在 detai.js 的 data 里面也定义一个 score ,再在 onLoad 函数里面接收传递过来的值 4.在页面上显示得到的值 这...

JavaSE 10(二维数组)

前言:      在经历了血雨腥风的地狱模式后本以为迎来了学习的平静,但二维数组又打破了这难得的平静!!!二维数组在java编程中同样也是很重要的知识点,因此在这里我将整理二维数组的知识点与重点,以及习题,便于自己的复习与巩固。 二维数组的声明与创建: 下面是声明二维数组的语法: 数据类型[][]数组名 : 数据类型数组名[][]; (允许这种方式 ,但并不推荐使用它...

深入理解 Linux 内存机制!| 技术头条

作者 | 阿文 责编 | 郭芮 作为一名Linux 系统运维工程,在日常管理 Linux 的时候,我们经常发现系统的空闲内存差不多总是被用完了。   通常,我们可以通过 top 和 free 查看内存使用情况:     执行 free:     为了更人性化地显示,我们可以加上 -h 选项:       可以看到我们的...