主页 > 知识库 > MongoDB在系统数据库local中无法创建用户的解决办法

MongoDB在系统数据库local中无法创建用户的解决办法

热门标签:河南电话外呼系统招商 青白江400企业电话申请 外呼线路资源属于电信业务吗 长沙电销外呼防封卡是什么 智能外呼系统官网 内蒙古营销智能外呼系统哪个好 crm外呼系统联系方式 呼和浩特外呼系统原理是什么 小裙科技电销机器人怎样

前言

我们知道,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" } ]
}
)

报错信息

2018-XX-XXT14:48:30.437+0800 E QUERY [thread1] Error: couldn't add user: Cannot create users in the local database :
_getErrorWithCode@src/mongo/shell/utils.js:25:13
DB.prototype.createUser@src/mongo/shell/db.js:1290:15
@(shell):1:1

查看mongoDB的官网介绍,发现确实不可以在local数据库下面创建账号

解决方案

其解决方案是,我们转到admin数据库下面,创建账号。

此时可以创建成功。

注意:(1)在程序端配置连接字符串时,相应的需要添加登入验证数据库参数 --authenticationDatabase admin

(2)通过NoSQLBooster登入时,Auth DB 选择执行创建命令的数据库名字(本实例为admin)

Default Database 的编辑项,选择oplog所在的local数据库

登入成功

(但是在测试过程中,发现此工具在这个小权限下,登入可以成功,但是有时候执行命令时报错,而通过 MongoDB shell 执行不报错。还需探究根本原因)

(3) 建议数据的拉取,在辅助节点上拉取,减少主库的压力。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

您可能感兴趣的文章:
  • MongoDB 简单入门教程(安装、基本概念、创建用户)
  • MongoDB数据库用户角色和权限管理详解
  • MongoDB 用户管理
  • mongodb基础之用户权限管理实例教程
  • Mac下安装配置mongodb并创建用户的方法
  • Mongodb 3.2.9开启用户权限认证问题的步骤详解
  • MongoDB快速入门笔记(七)MongoDB的用户管理操作
  • MongoDB系列教程(四):设置用户访问权限
  • Windows下MongoDB配置用户权限实例
  • mongodb 添加用户及权限设置详解
  • MongoDB为用户设置访问权限
  • MongoDB 用户相关操作

标签:呼伦贝尔 楚雄 池州 安顺 菏泽 舟山 黄石 白山

巨人网络通讯声明:本文标题《MongoDB在系统数据库local中无法创建用户的解决办法》,本文关键词  MongoDB,在,系统,数据库,local,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《MongoDB在系统数据库local中无法创建用户的解决办法》相关的同类信息!
  • 本页收集关于MongoDB在系统数据库local中无法创建用户的解决办法的相关信息资讯供网民参考!
  • 企业400电话

    智能AI客服机器人
    15000

    在线订购

    合计11份范本:公司章程+合伙协议+出资协议+合作协议+股权转让协议+增资扩股协议+股权激励+股东会决议+董事会决议

    推荐文章