MongoDB笔记(三):配置访问账号

本文详细介绍了如何使用MongoDBShell进行数据库连接、添加超级管理员、开启身份验证及创建普通用户的过程,适合初学者快速掌握MongoDB账号管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MongoDB Shell介绍

MongoDB shell 是MongoDB自带的一个交互式的JavaScript shell,配置账号需要使用到。具体更多的用法可以参考:
落_尘 MongoDB学习笔记(五)——MongoDB shell 与 MongoDB Compass

连接数据库

打开Windows命令行,切换到MongoDB安装目录,输入命令

.\mongo localhost:27017/admin

出现类似信息,说明已经成功连上数据库。因为我已经添加了用户,所以命令里带有username、password参数。

在这里插入图片描述

添加超级管理员

首先我们需要在自带的admin数据库里添加一个拥有root最高权限的管理账户,用来添加和管理其他账户。
切换到admin

use admin

创建root权限的用户,

db.createUser({user:"root",pwd:"123456",roles:["root"]})

提示

Successfully added user......

说明创建用户成功。
下一步需要开启验证。

开启身份验证

在安装目录\bin里找到配置文件
在这里插入图片描述
打开文件找到 security,取消注释,并添加开启验证的设置
在这里插入图片描述

修改完成后,重启MongoDB服务。使用命令(需要windows管理员权限):

net stop MongoDB
net start MongoDB

然后断开再重连数据库

> exit
bye
D:\MongoDB\Server\4.0\bin> .\mongo localhost:27017/admin --username root --password 123456

使用命令 show users 可以查看当前数据库的用户

> show users
{
        "_id" : "admin.root",
        "user" : "root",
        "db" : "admin",
        "roles" : [
                {
                        "role" : "root",
                        "db" : "admin"
                }
        ],
        "mechanisms" : [
                "SCRAM-SHA-1",
                "SCRAM-SHA-256"
        ]
}
>

创建普通用户

假设我们有一个名为test的业务数据库,需要为它创建一个访问账 号,应该按照以下步骤操作:

  1. 切换到test库

    use test
    
  2. 创建用户,赋予读写权限

    db.createUser({user:"test",pwd:"123456",roles:["readWrite"]})
    > show users
    {
            "_id" : "test.test",
            "user" : "test",
            "db" : "test",
            "roles" : [
                    {
                            "role" : "readWrite",
                            "db" : "test"
                    }
            ],
            "mechanisms" : [
                    "SCRAM-SHA-1",
                    "SCRAM-SHA-256"
            ]
    }
    

关于更多账户权限和参数的意义,可以参考:
落_尘 MongoDB学习笔记(六)——MongoDB配置用户账号与访问控制
或者官网文档

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值