当我从https://github.com/meteor/meteor/wiki/Oplog-Observe-Driver开始行时,我得到了
WARNING: The 'addUser' shell helper is DEPRECATED. Please use 'createUser' instead
2014-09-05T20:51:35.483-0400 Error: couldn't add user: "otherDBRoles" is not a valid argument to createUser at src/mongo/shell/db.js:1004
因为它是为Mongo 2.4创建的。有人设法让它在Mongo 2.6.1上运行吗? 如果没有,我是否需要降级到2.4?如果是,我怎么能轻易做到?
答案 0 :(得分:4)
以这种方式创建您的用户,确保您已通过身份验证并位于admin(docs)数据库中:
创建用户oplogger
(docs)
db.createUser({ user: "<name>",
pwd: "<cleartext password>",
roles: []
});
创建一个oplogger角色(docs)
db.runCommand({ createRole: "oplogger", privileges: [ { resource: { db: 'local', collection: 'system.replset'}, actions: ['find']}, ], roles: [{role: 'find', db: 'local'}] })
将角色授予用户(docs)
db.runCommand({ grantRolesToUser: 'oplogger', roles: ['oplogger']})
使用MONGO_OPLOG_URL作为环境变量。别忘了authSource=admin
参数,否则它无法正常工作。 (docs)
MONGO_OPLOG_URL=mongodb://oplogger:<password>@server_ip/local?authSource=admin
2.6还有一些问题尚未解决:https://github.com/meteor/meteor/issues/2121&amp; https://github.com/meteor/meteor/issues/2278虽然它仍然非常实用。