MongoDB 3.0.1 auth的问题 - RoboMongo

时间:2015-03-19 14:54:08

标签: node.js mongodb robo3t

我在服务器(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"从浏览器我可以看到这(这是正确的)

[]

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

2 个答案:

答案 0 :(得分:12)

通过Robomongo.org homepage

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

答案 1 :(得分: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。