• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    MongoDB在系统数据库local中无法创建用户的解决办法

    前言

    我们知道,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添加仲裁节点报错:replica set IDs do not match的解决方法
    下一篇:阿里云服务器安装mongodb的方法
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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