码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 云服务器中mongodb配置账号密码 图文讲解(全)


    目录

    • 前言
    • 1. 配置账号密码
    • 2. 配置授权auth
    • 3. 登录

    前言

    对于安装mongo可看我之前的文章:
    云服务器下载安装mongo数据库并远程连接详细图文版本(全)

    给mongodb数据库设置访问的账号密码,防止他人登录进来自已的数据库
    类似数据库设置密码也可看我之前的文章:

    • 修改sql密码(涵盖多个版本)
    • linux中设置redis的密码

    本篇文章主要讲解配置账号密码中遇到的错误或者心得

    1. 配置账号密码

    背景:安装了mongo以及配置全局变量启动(没有全局变量启动问题也不大)

    启动mongo:mongod --config /usr/mongodb/mongod.conf

    root@gaokaoli:~# mongod --config /usr/mongodb/mongod.conf
    about to fork child process, waiting until server is ready for connections.
    forked process: 49496
    child process started successfully, parent exiting
    
    • 1
    • 2
    • 3
    • 4

    通过mongo进入命令模式:通过use admin进入admin的数据库中添加对应的用户名以及密码
    在这里插入图片描述
    具体添加用户以及密码的代码如下:

    db.createUser({
      user: 'manong',    
      pwd: '123456',  
      roles:[{
        role: 'readWrite',   
        db: 'database'     
      }]
    })
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    这一步如果无误,可忽略下面的错误提示
    出现如下所示:

    2022-08-06T00:27:19.578+0800 E QUERY    [thread1] Error: couldn't add user: Use of SCRAM-SHA-256 requires undigested passwords :
    _getErrorWithCode@src/mongo/shell/utils.js:25:13
    DB.prototype.createUser@src/mongo/shell/db.js:1437:15
    @(shell):1:1
    
    • 1
    • 2
    • 3
    • 4

    截图如下:
    在这里插入图片描述
    则需要添加如下代码格式:

    db.createUser({
      user: 'manong',    
      pwd: '123456',  
      roles:[{
        role: 'readWrite',   
        db: 'database'     
      }],
      mechanisms : ["SCRAM-SHA-1"] 
    })
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    如果role和我不一样,但也无法执行的,可大致看我这篇文章(内置的role需要有对应的权限,不要乱使用):Mongodb出现Error: couldn‘t add user: Could not find role: root@database 解决方法


    如果添加成功之后显示如下:
    在这里插入图片描述

    2. 配置授权auth

    如果是配置文件启动,需要对配置文件(conf)中加入 auth=true
    在这里插入图片描述
    个别配置文件设置如下(版本不同):

    security:
         authorization: enabled
    
    • 1
    • 2

    如果是命令行模式启动需要加入--auth参数,表示授权启动

    配置文件生效之后,一般需要重启让其生效
    对应的mongo进程kill再将其开启即可
    在这里插入图片描述

    3. 登录

    授权成功之后如果不输入账号密码
    则会出现如下内容:
    在这里插入图片描述

    通过密码登陆的方式有两种

    第一种通过auth:db.auth('manong','123456')
    在这里插入图片描述

    第二种通过mongo 命令模式加入用户名以及密码(类似mysql的登录模式):mongo admin -u manong -p 123456

  • 相关阅读:
    【web-攻击用户】(9.1.2)XSS示例、攻击有效载荷、攻击的传送机制
    LeetCode C++ 40.组数总和2---未解决
    【无标题】
    【Python】SimpleITK使用笔记
    浙大计算机研究生复试上机考试-2005年畅通工程(考察并查集)
    成都理工大学_Python程序设计_第9章
    Maven(8) 实战总结
    Docker 网桥、docker0 网桥和 --net host:平台差异、使用方式和场景介绍简介:
    Qt | Qt For Android、Qt5.14.2安卓开发环境搭建详细步骤
    【论文阅读】时序动作检测系列论文精读(2018年)
  • 原文地址:https://blog.csdn.net/weixin_47872288/article/details/126168948
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号