ACCESSmongodb 认证方法(version:3.0.4)

事先一直于本机上跑,前段时间把后台架到提服务器上了,在settings里丰富了username和password,希望共同的时候修改一下settings就可知以地方测试。

 

以出口服务器端数据库连接要证明,于是以本地也打算加上身份验证,而mongodb默认是尚未说明的。

 

每当网上搜了一晃,方法还比原始,主要是于本地的mongodb中新增一个user:

进入mongodb下的bin

mongodb $ cd bin

匪上马起来验证的方法启动mongodb

bin $ ./mongod -dbpath ../blog

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

bin $ ./mongo

添加admin用户

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

切换至我之数据库(blog 为本人的数据库名称),在自己之数据库下创造用户

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

更开服务器,开启验证

bin $ ./mongod -dbpath ../blog --auth

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

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

 

查看文档,发现是因mongodb验证方式改变,加入了(SCRAM)SHA-1

以mongo里将刚创立的用户删除

use blog
db.dropUser('testuser') 

关闭认证重开数据库

于mongo里修改system.version文档中的authSchema版本也3(旧本子)

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

足见到:{ “_id” : “authSchema”, “currentVersion” :
3 }

 

除去之前创建的用户,重新创设用户(这同一次下说明办法啊MONGODB-CR)

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

 

 这无异浅可就此Robomongo成功登陆~

 

 

相关文章