Mongo 2.6的Meteor oplog

时间:2014-09-06 02:08:16

标签: mongodb meteor

当我从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?如果是,我怎么能轻易做到?

1 个答案:

答案 0 :(得分:4)

以这种方式创建您的用户,确保您已通过身份验证并位于admin(docs)数据库中:

  1. 创建用户oploggerdocs

    db.createUser({ user: "<name>",
      pwd: "<cleartext password>",
      roles: []
    });
    
  2. 创建一个oplogger角色(docs

    db.runCommand({ createRole: "oplogger", privileges: [   { resource: { db: 'local', collection: 'system.replset'}, actions: ['find']}, ], roles: [{role: 'find', db: 'local'}] })
    
  3. 将角色授予用户(docs

    db.runCommand({ grantRolesToUser: 'oplogger', roles: ['oplogger']})
    
  4. 使用MONGO_OPLOG_URL作为环境变量。别忘了authSource=admin参数,否则它无法正常工作。 (docs

    MONGO_OPLOG_URL=mongodb://oplogger:<password>@server_ip/local?authSource=admin
    
  5. 2.6还有一些问题尚未解决:https://github.com/meteor/meteor/issues/2121&amp; https://github.com/meteor/meteor/issues/2278虽然它仍然非常实用。