mongoDB 3.0.3 以上GUI 连接认证问题

因为项目要用到mongoDB,今天尝试搭建了一下。

首先mongo还是很好装的,yum 或者手动下载都可以,我是yum安装的最新版本的3.0.4。

主要是安装完成之后,需要安装一个GUI管理工具,我尝试了很多,都是差不多的。最后选择使用Robomongo,因为这个GUI工具在Linux、MAC、Windows上都有版本。

我在centos 上安装,装好之后修改 /etc/mongod.conf文件

1 port = 27017 
2 
3 auth = true
4 
5 bind_ip = 0.0.0.0

修改这三行。

之后的问题就出在连接认证上了 ,mongoDB 3.0以后的版本认证变得复杂起来,连接工具都不能连接上,必须修改认证版本

> use admin 
switched to db admin 
>  var schema = db.system.version.findOne({"_id" : "authSchema"}) 
> schema.currentVersion = 3 
3 
> db.system.version.save(schema) 
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 }) 

在修改完成之后再创建用户。下面附带创建数据库用户的shell:

1 创建一个root用户:

use admin
db.createUser(
    {
      user: "superuser",
      pwd: "12345678",
      roles: [ "root" ]
    }
)

2 创建admin用户

use admin
db.createUser(
  {
    user: "siteUserAdmin",
    pwd: "password",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
  }
)

3 创建具体数据库的用户

use records
db.createUser(
  {
    user: "recordsUserAdmin",
    pwd: "password",
    roles: [ { role: "userAdmin", db: "records" } ]
  }
)

最后都要认证一下

db.auth("user", "pwd")

返回1代表成功,0代表失败。

原文地址:https://www.cnblogs.com/lout/p/mongoDB.html