Windows下设置Mongodb用户名密码
2024-10-19 12:40:38
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")
1
在我创建完成后使用这个账号去连接test库时,却还是连接不上,经过排查后,发现这个创建的用户是在admin库创建的,需要再去test库创建一个用于认证链接test库的账号
然后再Mongodb启动的时候加上 --auth就可以了
作者:彼岸舞
时间:2020\09\26
内容关于:工作中用到的小技术
本文来源于网络,只做技术分享,一概不负任何责任
最新文章
- opencv2.4更换为opencv3.1后,mxnet编译错误(libpng16.so.16)
- Linux下部署docker记录(0)-基础环境安装
- 在VIM中进行快速的查找和替换
- Excel实用技巧
- MySQL binlog 组提交与 XA(分布式事务、两阶段提交)【转】
- BZOJ1012[JSOI2008]最大数maxnumber 题解
- validate
- iOS中生成并导入基于Swift编程语言的Framework
- eclispse快捷操作
- Android入门之GridView(表格控件)
- poj 2507Crossed ladders <;计算几何>;
- Linux 内核同步机制
- Android软键盘调用及隐藏,以及获得点击软键盘输入的字母信息
- java_log4j 经典配置
- Android POJO 转换器 —>; RapidOOO
- ";《算法导论》之‘线性表’";:双向循环链表
- 黄文俊:Serverless小程序后端技术分享
- Kubernetes之canal的网络策略(NetworkPolicy)
- js单元测试
- python实用脚本集