我们知道,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 在系统数据库local上无法创建用户的解决方法的更多相关文章

  1. Mysql基础(一):Mysql初识、基本指令、数据库密码相关、创建用户及授权

    来源:https://www.cnblogs.com/liubing8/p/11432534.html 目录 数据库01 /Mysql初识.基本指令.数据库密码相关.创建用户及授权 1. 数据库概述 ...

  2. 数据库01 /Mysql初识、基本指令、数据库密码相关、创建用户及授权

    数据库01 /Mysql初识.基本指令.数据库密码相关.创建用户及授权 目录 数据库01 /Mysql初识.基本指令.数据库密码相关.创建用户及授权 1. 数据库概述 2. 数据库管理系统/DBMS ...

  3. sql server 还原数据库后,删除用户,提示数据库主体在该数据库中拥有架构,无法删除解决方法

    将另一台服务器上的数据库备份文件,在现在用的这台服务器上还原之后,再创建相同的用户名,提示用户已存在 想将之前的用户先删除掉,却提示“数据库主体在该数据库中拥有架构,无法删除解决方法” 在网上找到方法 ...

  4. 【转】PLSQL developer 连接不上64位Oracle 的解决方法

    PLSQL developer 连接不上64位Oracle 的解决方法 快乐无极 , 2012/06/13 10:10 , 开发文档 , 评论(6) , 阅读(140430) , Via 本站原创 大 ...

  5. PLSQL developer连接不上64位Oracle的解决方法

    PLSQL developer连接不上64位Oracle的解决方法 64位下装Oracle 11g 64位,PLSQL Developer使用出现问题. 问题描述: 登录对话框中,数据库下拉框为空: ...

  6. Win10或Win8下ObjectARX2015 Wizard向导创建项目失败解决方法

    [原创]objectARX 2015 Wizard安装向导在Win8/win10下无法创建项目的解决方法总结by edata @2017-5-1objectARX 2015 Wizard安装向导在Wi ...

  7. Can’t connect to local MySQL server through socket的解决方法

    http://www.aiezu.com/db/mysql_cant_connect_through_socket.html mysql,mysqldump,php连接mysql服务常会提示下面错误: ...

  8. MySQL数据库”mysql SQL Error:1146,SQLState:42S02 “解决方法

    项目在开发的时候在Mac平台下开发的,开发完了之后在LINUX环境上部署好之后,运行时MySQL数据库报错,提示为某个表不存在之类的错误信息,后来修改了MySQL的配置文件将大小写敏感去掉,问题解决. ...

  9. golang github.com/go-sql-driver/mysql 遇到的数据库,设置库设计不合理的解决方法

    golang github.com/go-sql-driver/mysql 遇到的数据库,设置库设计不合理的解决方法,查询中报了以下这个错 Scan error on column index 2: ...

随机推荐

  1. [Swift]LeetCode828. 独特字符串 | Unique Letter String

    A character is unique in string S if it occurs exactly once in it. For example, in string S = " ...

  2. [Swift]LeetCode829. 连续整数求和 | Consecutive Numbers Sum

    Given a positive integer N, how many ways can we write it as a sum of consecutive positive integers? ...

  3. Git的使用--如何将本地项目上传到Github(三种简单、方便的方法)

    一.第一种方法: 1.首先你需要一个github账号,所以还没有的话先去注册吧! https://github.com/ 我们使用git需要先安装git工具,这里给出下载地址,下载后一路(傻瓜式安装) ...

  4. 【netty】(2)---搭建一个简单服务器

    netty(2)---搭建一个简单服务器 说明:本篇博客是基于学习慕课网有关视频教学.效果:当用户访问:localhost:8088 后 服务器返回 "hello netty"; ...

  5. HTML基础知识点

    HTML    1.一套规则,浏览器认识的规则.    2.开发者:        学习Html规则        开发后台程序:            - 写Html文件(充当模板的作用) **** ...

  6. 在使用 Git pull 时候报错 error: inflate

    在使用 Git pull 时候报错 error: inflate 具体的错误是 这样的 error: inflate: data stream error (unknown compression m ...

  7. 带着萌新看springboot源码12(启动原理 下)

    先继续接上一篇,那个启动原理还有一点没说完. 6. afterRefresh(context, applicationArguments); 看这个名字就知道,应该就是ioc容器刷新之后的一些操作了, ...

  8. Java开发知识之Java的枚举

    Java开发知识之Java的枚举 一丶什么是枚举 枚举可以理解为就是常量,在Java中我们定义常量.都是用 final语句. C++中都是用const关键字. 枚举跟C++概念都是一样的.就是特定的常 ...

  9. HTTP协议简介详解 HTTP协议发展 原理 请求方法 响应状态码 请求头 请求首部 java模拟浏览器客户端服务端

    协议简介 协议,自然语言里面就是契约,也是双方或者多方经过协商达成的一致意见; 契约也即类似于合同,自然有甲方123...,乙方123...,哪些能做,哪些不能做; 通信协议,也即是双方通过网络通信必 ...

  10. Windows 花屏问题

    已经有2台电脑 Windows 10 系统出现花屏现象,表现为比较炫的界面出现花屏.文字显示不全.移位.闪烁等,如果点击“设置”.“开始”,Chrome浏览器等:比较平素的界面显示正常,比如资源管理器 ...