您的位置:首页技术文章
文章详情页

node.js - mongodb中的数据库权限

浏览:88日期:2024-07-28 09:54:17

问题描述

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

问题解答

回答1:

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!

node.js - mongodb中的数据库权限

回答2:

我最近刚好遇到这个问题了,你可以看看这个 http://kdylan.me/2016/12/11/m...

相关文章: