Windows下设置Mongodb用户名密码

本文介绍了如何在MongoDB中从不启用认证到创建管理员账户,包括内置角色和数据库安全设置,以保护云端数据。步骤包括创建admin库用户并验证,以及为特定库创建认证链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MongoDB认证:

在默认的情况下,Mongodb是监听在127.0.0.1 IP上的,端口号默认为27017,任何客户端都可以连接,不需要认证

默认情况下,Mongodb也是没有管理账户的,除非你在admin库中创建了用户,当然光创建了用户是没有用的,还要用--auth参数启动,不然认证也是不生效的

好处:

  随时可以连接,不用配置一堆配置文件

坏处:

  公网服务器搭建的Mongodb,那么所有人都可以玩你的数据,并且会有网管发来的邮件,然后添加认证

首先先启动Mongodb,以不带认证的方式启动

创建所有数据库管理员账户:

1:以管理员身份运行cmd,然后cd到Mongodb的bin的目录

C:\WINDOWS\system32>cd F:\6.0\env\mongodb-win32-x86_64-2008plus-3.2.15
C:\WINDOWS\system32>F:
F:\6.0\env\mongodb-win32-x86_64-2008plus-3.2.15>cd bin
F:\6.0\env\mongodb-win32-x86_64-2008plus-3.2.15\bin>

2:输入命令mongo.exe,进入mongodb命令界面:前提是先启动Mongodb

F:\6.0\env\mongodb-win32-x86_64-2008plus-3.2.15\bin>mongo.exe

3:创建数据库,我用的库叫test

> use test;
switched to db test

4:然后切换回admin库创建用户

> use admin
switched to db admin

5:创建管理员账号,创建之前需要先了解一下Mongodb内置角色

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

6:然后创建管理员账号:

> db.createUser({user:"root",pwd:"root",roles:[{role:"userAdminAnyDatabase",db:"admin"}]})
Successfully added user: {
        "user" : "root",
        "roles" : [
                {
                        "role" : "userAdminAnyDatabase",
                        "db" : "admin"
                }
        ]
}

7:然后验证一下是否成功

> db.auth("root","root")

在我创建完成后使用这个账号去连接test库时,却还是连接不上,经过排查后,发现这个创建的用户是在admin库创建的,需要再去test库创建一个用于认证链接test库的账号

然后再Mongodb启动的时候加上 --auth就可以了

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值