问题
最近同事要做个小功能,将数据下载到本地的mongoDB数据库里,但是。。。。卡在了第一步:创建了用户,但是连接的时候,报错,未认证!
分析1
先考虑是不是localhost解析出了问题,换成127.0.0.1或者0.0.0.0
结果:还是老样子!不行
分析2
会不会是账号有问题?查一下
db.getUsers()
我这里根本没有test库,难怪了。
这里我都是参考MongoDB官网的认证资料
MongoDB认证资料
还硬着头皮认证:
虽然早有预感,但我就是不信邪。。。。这个auth此时不用,更待何时?结果还是不对!!!!!!!
这里得反思一下了
账号root:在test库下,有访问admin的root角色权限,但却没有自己的,所以,当然连不上啦,做了认证,也没有权限访问自己啊。
找到了正解:
创建用户的时候,要指定库
use admin
db.createUser(
{
user: "dba",
pwd: "dba",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
这样就可以。以下是各种作死尝试:
1、不是说test库没有权限嘛?我给他加了一个