MongoDB中创建root的角色失败:Error couldn’t add user No role named root@test

问题描述

使用Django操作MongoDB,在创建用户的时候,使用下面操作:

> db.createUser({user: 'abc', pwd: 'abc', roles: ['root']})
Successfully added user: { "user" : "abc", "roles" : [ "root" ] }

但是在Django中,执行 makemigrations 操作却提示

Error: Authentication failed.

在MongoDB的Shell里执行auth操作也提示类似的错误;

> db.auth('root_1', 'root')
Error: Authentication failed.

0

Google找到了说是新版的MongoDB需要改一个设置,如下

> use admin
switched to db admin
> var schema = db.system.version.findOne({"_id" : "authSchema"})
> schema.currentVersion = 5
5
> db.system.version.save(schema)
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 0 })
> schema.currentVersion = 3
3
> db.system.version.save(schema)
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

但是执行后还是同样的问题…

原来是:
之前的dbAdmin,只是针对于Database Administration Roles这些种类的权限
而root本身来说,貌似?(反正没有完全看懂)只是针对于admin数据库的,或者说只能在admin数据库中授权root这个role
-》因为root权限太大了

于是尝试赋予 dbAdmin 角色

> db.createUser({user: 'abc', pwd: 'abc', roles: ['dbAdmin']})
Successfully added user: { "user" : "abc", "roles" : [ "dbAdmin" ] }

再次执行 makemigrations 以及 migrate 操作,不再提示问题,遂解决

官网关于角色这块写的感觉有点晦涩…

Original: https://www.cnblogs.com/wswang/p/12447341.html
Author: wswang
Title: MongoDB中创建root的角色失败:Error couldn’t add user No role named root@test

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/585807/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • ceph存储集群搭建以及介绍

    转载至https://blog.csdn.net/weixin_44989941/article/details/123370410 Original: https://www.c…

    Linux 2023年6月14日
    087
  • RPA人力资源简历筛选机器人

    简历自动筛选及分析机器人,支持前程无忧、猎聘 1、自动登录招聘网站 2、自动填充简历筛选条件 3、RPA依次读取所筛选的简历信息 4、自动将简历数据复制到本地文档中 5、完成简历信…

    Linux 2023年6月7日
    0104
  • Identity Server 4使用OpenID Connect添加用户身份验证(三)

    一、说明 基于上一篇文章中的代码进行继续延伸,只需要小小的改动即可,不明白的地方可以先看看本人上一篇文章及源码: Identity Server 4资源拥有者密码认证控制访问API…

    Linux 2023年6月13日
    082
  • 高速USB转8串口产品设计-RS485串口

    基于480Mbps 高速USB转8路串口芯片CH348,可以为各类主机扩展出8个独立的串口。使用厂商提供的VCP串口驱动程序,可支持Windows、Linux、Android、ma…

    Linux 2023年6月7日
    0114
  • CentOS7安装MYSQL8.X详细教程

    1-首先查看系统是否存在mysql,无则不返回 rpm -qa|grep mysql 2-安装wget yum -y install wget 3-抓取mariadb并删除包,无则…

    Linux 2023年5月27日
    083
  • 节约内存:Instagram的Redis实践(转)

    1.M emcached 内存Key-Value Cache Redis 内存数据库 四,节约内存:Instagram的Redis实践 Instagram可以说是网拍App的始祖级…

    Linux 2023年5月28日
    096
  • 如何在MySQL中进行简单的增删改查

    — 创建dept表并设置主键create table dept(deptno int(2) primary key ,dname varchar(14),loc var…

    Linux 2023年6月7日
    099
  • 如何使用CMake构建c++项目

    1. c++项目构建与CMake简介 在Windows系统上我们通常使用 Visual Studio(VS)来生成我们的c++项目。我们只需在VS相应的层次目录中添加相应的文件即可…

    Linux 2023年5月27日
    0208
  • pyQt的对话框

    1. 在对话框中输入文字 from PyQt5.QtWidgets import (QWidget, QPushButton, QLineEdit, QInputDialog, Q…

    Linux 2023年6月7日
    093
  • shell升级

    对/sbin/nologin的理解 系统账号的shell使用 /sbin/nologin ,此时无法登陆系统,即使给了密码也不行。 所谓”无法登陆”指的仅是…

    Linux 2023年5月28日
    0103
  • 运算符重载限制

    p387 5.表 11.1 中的大多数运算符都可以通过成员或非成员函数进行重载,但下面的运算符只能通过成员函数进行重载。 =:赋值运算符。 ():函数调用运算符。 []:下标运算符…

    Linux 2023年6月13日
    093
  • K8S部署之VMWare网络拓扑踩坑

    知乎上最近发现一篇好文 图解K8S(01):基于Ubuntu 20.04部署1.23版K8S集群,想着之前 K8S 部署一直不成功,那么就照着这篇文章中说的试一试。结果在实验时遇到…

    Linux 2023年6月13日
    086
  • 数据分析业务知识

    1.电商和消费模型 所谓的电商和消费模型是以商品的交易、零售、购买搭建而起。包括客单价、复购率、回购率、退货率、购物篮大小、进销存等商品概念。 2.市场营销模型 市场营销模型是以传…

    Linux 2023年6月6日
    0121
  • Redis 生产架构选型对比,一文整治选择困难症

    前言 在写开源项目的时候,想到了要支持多种redis部署方式,于是对于这块的生产环境的架构选型展开调研。 一、引擎版本 推荐使用更新的引擎版本以支持更多的特性, Redis 6.0…

    Linux 2023年6月8日
    085
  • 我们做了一个操作系统,不是Windows,也不是Linux

    这是一个操作系统,有和Windows一样的桌面,通过鼠标和键盘使用图形界面,但是不是Windows。 也有和Linux一样的终端,通过输入字符命令,即能处理本地的工作,还能远程操控…

    Linux 2023年6月6日
    081
  • redis缓存数据库简单使用

    1、在Linux上安装与配置 -最新:7.0 -最稳定版本:6.x-讲课:5.x-企业里:3.x,4.x,5.x 6.x(极少数公司在用)-windows:3.x,5.x 1 速度…

    Linux 2023年6月14日
    092
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球