mongodb中的数据库权限

我在数据库的admin中创建了一个管理员,角色是root,其他普通数据库都没创建,可用mongoose连接普通数据库example怎么都连接不上,说not authorized on example to execute command ,加上admin的用户名和密码也无法登陆,报错为Authentication failed。求大佬告知怎么改。

阅读 4.4k
3 个回答

1、admin的用户名和密码也无法登陆,报错为Authentication failed。

使用管理员(你配置的角色为root)登录时候,请配置 authenticationDatabase "admin";例如在mongo命令行下:

mongo -u "root" -p "root" --authenticationDatabase "admin"

2、可用mongoose连接普通数据库example怎么都连接不上,说not authorized on example to execute command

正确的步骤是,应该用管理员创建应用红所需的数据库用户,分配权限,然后再登录。例如:

创建用户/分配权限,指定用户名、权限、对应的数据库,例如命令行下:
db.createUser(
{

user: "app",
pwd: "app",
roles: [ { role: "readWrite", db: "example" } ]

}
)

登录时,连接example数据库,例如命令行下:

mongo -u "app" -p "app" --authenticationDatabase "example"

供参考。

Love MongoDB ! Have Fun!

图片描述

新手上路,请多包涵
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题