9

我已经在服务器(Ubuntu14.04)中安装了 MongoDB 3.0.1。我需要为我的 MongoDB 启用远程身份验证,以便只有注册用户才能看到它。安装 Mongo 后,我运行了以下命令:

> use admin
switched to db products
> db.createUser({user: "userAdmin", pwd: "admin1234", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]})

这是我的 /etc/mongod.conf”:

dbpath = /var/lib/mongodb
logpath = /var/log/mongodb/mongod.log
logappend = true
port = 27017
bind_ip = 127.0.0.1,SERVER_IP
auth = true

如果我尝试连接 RoboMongo,我会收到此消息

YES - Connected to SERVER_IP
NO - Authorization failed

如果我尝试从浏览器 ( http://SERVER_IP:3000/products ) 访问它,我会收到以下消息:

null

如果我从浏览器更改配置文件“auth = false”,我可以看到这个(这是正确的)

[]

但是我无法登录,有人可以帮助我吗?

4

2 回答 2

12

通过Robomongo.org 主页

Note: We are working on an update with MongoDB 3.0 compatibility for the upcoming Robomongo 0.9.x release series.

Robomongo 当前版本为0.8.5,仅支持MongoDB 2.2

于 2015-03-22T21:20:41.547 回答
3

mongo 2.6 使用 MONGODB-CR auth 协议,3.0 默认使用 MONGODB-SHA-1。解决方法是使用运行 auth 和 2.6 版的服务器创建数据库,然后升级到 3.0,因为这两个 authMechanism 可以共存。只要您在升级到 3.0 后不运行 authSchemaUpgrdae,使用 MONGODB-CR 创建的任何用户都将继续使用该身份验证。

PS。robomongo 和旧版本的驱动程序使用 MONGODB-CR。

于 2015-04-06T19:51:50.130 回答