在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
前言 我们知道,MongoDB的Oplog (operations log)记录了用户的最近一段时间的操作(时间长短主要受设置的oplogSize和程序的写入更新量的影响)。那么,如果其他部门(例如BI团队)需要抽取数据,从 local.oplog.rs中读取解析一个不错的选择。 oplog位于local数据下面,为了将权限最小化,大家需要创建此库的权限(还可以将权限细化到集合,再次不讨论)。 习惯性的,在local数据库下面创建,但是报错了。 执行脚本 db.createUser( { user: "testuser_local", pwd: "testuser_local", roles: [ { role: "read", db: "local" } ] } ) 报错信息
查看mongoDB的官网介绍,发现确实不可以在local数据库下面创建账号 解决方案 其解决方案是,我们转到admin数据库下面,创建账号。 此时可以创建成功。 注意:(1)在程序端配置连接字符串时,相应的需要添加登入验证数据库参数 --authenticationDatabase admin (2)通过NoSQLBooster登入时,Auth DB 选择执行创建命令的数据库名字(本实例为admin) Default Database 的编辑项,选择oplog所在的local数据库 登入成功 (但是在测试过程中,发现此工具在这个小权限下,登入可以成功,但是有时候执行命令时报错,而通过 MongoDB shell 执行不报错。还需探究根本原因) (3) 建议数据的拉取,在辅助节点上拉取,减少主库的压力。 总结 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对极客世界的支持。 |
请发表评论