我在数据库的admin中创建了一个管理员,角色是root,其他普通数据库都没创建,可用mongoose连接普通数据库example怎么都连接不上,说not authorized on example to execute command ,加上admin的用户名和密码也无法登陆,报错为Authentication failed。求大佬告知怎么改。
黄舟2017-04-17 15:41:21
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!