mongodb设置密码
在官方文档中踩坑了,从别的地方查的。
首先说明,mongodb的密码和其他,诸如mysql不同。mongodb的密码是基于数据库的,每个数据库都要设置自己的密码,同时设置用户是基于权限的。
1、show dbs
查看当前所有数据库
2、use admin
进入admin数据库
3、创建管理员账户
db.createUser( { user: "myUserAdmin", pwd: passwordPrompt(), // or cleartext password roles: [ { role: "userAdminAnyDatabase", db: "admin" }, { role: "readWriteAnyDatabase", db: "admin" } ] } )
mongodb中的用户是基于身份role的,该管理员账户的 role是 userAdminAnyDatabase。 ‘userAdmin’代表用户管理身份,’AnyDatabase’ 代表可以管理任何数据库,‘readWrite’代表读写权限。
4、验证第3步用户添加是否成功
db.auth("useradmin", "adminpassword") 如果返回1,则表示成功。
exit退出系统
db.auth()方法理解为 用户的验证功能
5、修改配置or启动项
sudo vi /etc/mongod.conf
找到#security: 取消注释,修改为:
security:
authorization: enabled
或者增加启动项
mongod --auth
6、重启mongodb sudo service mongod restart
7、进入mongodb
用第3步的 管理员账户登录,用该账户创建其他数据库管理员账号
8、新建你需要管理的mongodb 数据的账号密码。
进入你要使用的database
use yourdatabase db.createUser( { user: "myUser", pwd: passwordPrompt(), // or cleartext password roles: [ { role: "dbOwner", db: "yourdatabase" }, { role: "readWrite", db: "yourdatabase" } ] } )
dbOwner 代表数据库所有者角色,拥有最高该数据库最高权限,比如新建索引等。readWrite代表数据的读写,拥有读写权限。
现在数据的用户名和密码就建好了。
9、可以使用:mongodb://myUser:yourpassword@localhost/yourdatabase来链接
分类:
全栈笔记
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义