千家信息网

MongoDB在系统数据库local中无法创建用户怎么办

发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,小编给大家分享一下MongoDB在系统数据库local中无法创建用户怎么办,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!前
千家信息网最后更新 2025年02月02日MongoDB在系统数据库local中无法创建用户怎么办

小编给大家分享一下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在系统数据库local中无法创建用户怎么办"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

数据 数据库 用户 成功 权限 篇文章 选择 怎么办 系统 内容 命令 方案 时间 程序 解决方案 账号 不错 最小 不怎么 习惯性 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 浏览中的自动填充表单数据库 2018年我国网络安全主题 无锡恒隆网络技术有限公司 网络安全云课堂专题课程直播 米孚软件开发有限公司地址 软件开发合同豆丁 网络安全科幻小说 昆仑通台服务器网址 怎样让app的服务器宕机 信息系统与网络技术应用 成都大学的服务器地址 HRT人才数据库证书查询 自学软件开发要多长时间 银行网络安全培训课件 北京达梦数据库技术有限公司 魔兽世界服务器 分组 天翼云定制服务器 大众点评签到数据库 专业搞数据库 网络安全事件是什么 服务器和终端设备如何沟通 linux服务器夯住连接不上 怎样用云服务器做云盘 软件开发 主要设备 软件开发申请政府补贴报告 个人接活软件开发怎么开发票 广东省清远市网络安全宣传 北京犀鸟网络技术有限公司 计算机网络技术练习题答案 电脑编程软件开发武汉哪家好
0