mongodb 认证形式(version:3.0.4)

bin $ ./mongo

在网上搜寻了一下,方法都相比较旧,重假使在该地的mongodb中新增一个user:

1 use blog
2 db.dropUser('testuser')
3 db.createUser({
4      user:'testuser',
5      pwd:'test',
6      roles:[{role:'dbOwner',db:'blog'}]
7 })

 这两次可以用罗布omongo成功登陆~

输入mongo命令,进入test数据库

切换来自家的数据库(blog 为自家的数据库名称),在本人的数据库下创设用户

 

 

在mongo里修改system.version文档里面的authSchema版本为3(旧版本)

重启服务器,开启验证

闭馆认证重启数据库

1 use admin
2 db.system.version.update({'_id':'authSchema'},{$set:{'currentVersion':3}})
3 db.system.version.find()

在mongo里将刚创设的用户删除

添加admin用户

1 use blog
2 db.createUser({
3      user:'testuser',
4      pwd:'test',
5      roles:[{role:'dbOwner',db:'blog'}]
6 })
bin $ ./mongod -dbpath ../blog --auth

可以看看:{ “_id” : “authSchema”, “currentVersion” :
3 }

翻开文档,发现是因为mongodb验证格局改变,加入了(SCRAM)SHA-1

删除此前创造的用户,重新创立用户(这一回选取表达措施为MONGODB-CEscort)

1 use admin
2 db.createUser({
3      user:'admin',
4      pwd:'admin',
5      roles:[{role:'userAdminAnyDatabase',db:'admin'}]
6 })

行使Robomongo登陆,显示Authentication Failed,查看服务器日志:

进入mongodb下的bin

 

 

事先平昔在本机上跑,前段时间把后台架到云服务器上了,在settings里拉长了username和password,希望共同的时候修改一下settings就能在本地测试。

mongodb $ cd bin

 

2015-08-31T17:39:46.416+0800 I ACCESS 
 [conn46] Failed to authenticate testuser@blog
with mechanism MONGODB-CR: AuthenticationFailed MONGODB-CR credentials missing in the user document

bin $ ./mongod -dbpath ../blog

 

不开启验证的法门启动mongodb

因为云服务器端数据库连接需求验证,于是在地头也打算加上身份验证,而mongodb暗中同意是从未认证的。

use blog
db.dropUser('testuser') 

 

相关文章