2015-03-19 21 views
9

Tôi đã cài đặt MongoDB 3.0.1 trong máy chủ (Ubuntu14.04). Tôi cần phải kích hoạt xác thực từ xa cho MongoDB của tôi, để nó chỉ có thể được nhìn thấy bởi người dùng đã đăng ký. Sau khi cài đặt Mongo, tôi đã chạy các lệnh này:MongoDB 3.0.1 sự cố với auth - RoboMongo

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

Đây là /etc/mongod.conf của tôi ":

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

Nếu tôi cố gắng kết nối với RoboMongo, tôi nhận được tin nhắn này

YES - Connected to SERVER_IP 
NO - Authorization failed 

Nếu tôi cố gắng truy cập nó từ trình duyệt của tôi (http://SERVER_IP:3000/products) tôi nhận được tin nhắn này:

null 

Nếu tôi thay đổi tập tin cấu hình này "auth = false" từ trình duyệt tôi có thể thấy điều này (đó là chính xác)

[] 

Nhưng tôi không thể đăng nhập, ai đó có thể giúp tôi?

+0

Các công cụ như RoboMongo vẫn cần được cập nhật lên phiên bản mới nhất của bất kỳ trình điều khiển nào mà chúng chạy trên đó, để tương thích với các thay đổi trong MongoDB 3.0. Bạn sẽ phải đợi cho đến khi RoboMongo được cập nhật. – wdberkeley

+0

FYI, điều này đang được giải quyết cho bản phát hành Robomongo 0.9.0: https://github.com/paralect/robomongo/issues/766 – Stennie

+0

Có vẻ như bản phát hành 0.9.0 sắp không xảy ra: https: // github .com/paralect/robomongo/milestones/Robomongo% 200.9.0 .. – Romain

Trả lời

12

Via 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 hiện đang dùng phiên bản 0.8.5 mà chỉ hỗ trợ MongoDB 2.2

+0

Mặc dù cũ hơn shell, Robomongo 0.8.x hỗ trợ auth up cho đến MongoDB 2.6. MongoDB 3.0 bổ sung thêm một auth SCRAM-SHA-1 mới mà chắc chắn chưa được hỗ trợ. – Stennie

3

Mongo 2,6 sử dụng giao thức auth MongoDB-CR và 3.0 sử dụng MongoDB-SHA-1 theo mặc định. công việc xung quanh sẽ là tạo các bảng dữ liệu của bạn với một máy chủ chạy auth và phiên bản 2.6 sau đó nâng cấp lên 3.0 vì cả hai authMechanism có thể cùng tồn tại. Bất kỳ người dùng nào được tạo bằng MONGODB-CR sẽ tiếp tục sử dụng xác thực đó miễn là bạn không chạy authSchemaUpgrdae sau khi bạn đã nâng cấp lên 3.0.

PS. robomongo và các phiên bản cũ hơn của trình điều khiển sử dụng MONGODB-CR.