mongoDB 3.0.3 以上GUI 连接认证问题

时间:2021-12-10 13:44:04

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

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

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

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

 port =  

 auth = true

 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 = > db.system.version.save(schema)
WriteResult({ "nMatched" : , "nUpserted" : , "nModified" : })

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

1 创建一个root用户:

use admin
db.createUser(
{
user: "superuser",
pwd: "",
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代表失败。