MongoDB 设置用户名密码

MongoDB 默认没有设置用户名密码,需要我们自己设置,先设置 admin 用户,然后针对某个数据库设置用户。

设置 admin


# 进入控制台
mongo

创建管理员

use admin
db.createUser(
  {
    user: "myUserAdmin",
    pwd: "abc123",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
  }
)

重启 MongoDB


重启并进入控制台

mongod --auth

mongo

授权

use admin
db.auth("myUserAdmin", "abc123" )

添加数据库用户


没添加用户之前,操作数据库会报错:

> use test
switched to db test
> db.foo.insert( { x: 1, y: 1 } )
WriteCommandError({
    "ok" : 0,
    "errmsg" : "too many users are authenticated",
    "code" : 13,
    "codeName" : "Unauthorized"
})

添加用户:

use test
db.createUser(
  {
    user: "myTester",
    pwd: "xyz123",
    roles: [ { role: "readWrite", db: "test" },
             { role: "read", db: "reporting" } ]
  }
)

重新进入控制台,授权、执行插入操作:

> use test
switched to db test
> db.auth("myTester", "xyz123" )
1
> db.foo.insert( { x: 1, y: 1 } )
WriteResult({ "nInserted" : 1 })

官方文档

推荐阅读更多精彩内容

  • ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。 O...
    我想起个好名字阅读 3,363评论 0 9
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 118,215评论 14 132
  • 你是我见过拥有最最坚硬盔甲的人 也是我最想要一层层融入它 成为它的人 走了那么久 看过了那么多不幸 但我仍旧坚定...
    要多帅气的昵称呢阅读 27评论 0 0
  • 总的来说感觉这部片子是爱情励志片, 杨戬对阿紫酸酸的暗恋,孙悟空和阿紫打闹的爱恋,天蓬对阿月久逢的想念,看...
    茶叶蛋De故事阅读 109评论 0 0
  • 从我上班开始备课,我认识的朋友认识的老师,一个个退休的,退休死掉的死掉,高升的高升,调走的调走。 只有我自己,是我...
    马上做阅读 67评论 0 0