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

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

热门标签:服务外包 网站排名优化 铁路电话系统 Linux服务器 呼叫中心市场需求 地方门户网站 百度竞价排名 AI电销

前言

我们知道,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中无法创建用户的解决办法》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266