node.js - mongodb中的数据库权限
问题描述
我在数据库的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!
我最近刚好遇到这个问题了,你可以看看这个 http://kdylan.me/2016/12/11/m...
相关文章:
1. 为什么我ping不通我的docker容器呢???2. 关于docker下的nginx压力测试3. angular.js - angular内容过长展开收起效果4. nignx - docker内nginx 80端口被占用5. docker-compose 为何找不到配置文件?6. java - instance method中 static后的<K>是什么意思?7. docker-compose中volumes的问题8. debian - docker依赖的aufs-tools源码哪里可以找到啊?9. 主从备份 - 跪求mysql 高可用主从方案10. docker start -a dockername 老是卡住,什么情况?
