从此无心爱良夜,任他明月下西楼

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来链接

posted @   明月下  阅读(199)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义

页脚

点击右上角即可分享
微信分享提示