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代表失败。

posted @   loutao  阅读(576)  评论(0编辑  收藏  举报
编辑推荐:
· 一文彻底搞懂 MCP:AI 大模型的标准化工具箱
· 电商平台中订单未支付过期如何实现自动关单?
· 用 .NET NativeAOT 构建完全 distroless 的静态链接应用
· 为什么构造函数需要尽可能的简单
· 探秘 MySQL 索引底层原理,解锁数据库优化的关键密码(下)
阅读排行:
· 短信接口被刷爆:我用Nginx临时止血
· .NET 平台上的开源模型训练与推理进展
· Google发布A2A开源协议:“MCP+A2A”成未来标配?
· C# 多项目打包时如何将项目引用转为包依赖
· 一款让 Everything 更加如虎添翼的 .NET 开源辅助工具!
点击右上角即可分享
微信分享提示