mongoDB设置访问用户名密码

在 MongoDB 中设置访问用户名和密码可以通过以下步骤实现:

1. 启用身份验证

首先,需要在 MongoDB 配置文件 mongod.conf 中启用身份验证。

  1. 找到 mongod.conf 配置文件,路径通常为 /etc/mongod.conf(Linux)或 C:\Program Files\MongoDB\Server\{版本号}\bin\mongod.cfg(Windows)。

  2. 找到以下部分,并将 security.authorization 设置为 enabled

    yaml

    security: authorization: enabled

  3. 保存并重新启动 MongoDB 服务,以启用身份验证。

2. 创建管理员用户

在 MongoDB Shell 中使用以下命令创建管理员用户。管理员用户将拥有对数据库的所有权限。

  1. 打开 MongoDB Shell,连接到 MongoDB 实例:

    mongo

  2. 选择 admin 数据库:

    use admin

  3. 创建管理员用户,用户名为 admin,密码为 password

    db.createUser({ user: "admin", pwd: "password", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] })

  4. 完成后,使用 exit 退出 MongoDB Shell。

3. 为特定数据库创建用户

可以为特定数据库(例如 mydatabase)创建用户:

  1. 重新连接 MongoDB,并切换到目标数据库:

    mongo -u "admin" -p "password" --authenticationDatabase "admin" use mydatabase

  2. 创建数据库用户:

    db.createUser({ user: "myuser", pwd: "mypassword", roles: [{ role: "readWrite", db: "mydatabase" }] })

  3. 此用户将具有对 mydatabase 的读写权限。

4. 使用用户名和密码连接 MongoDB

启用身份验证并创建用户后,可以通过以下方式连接 MongoDB:

mongo -u "用户名" -p "密码" --authenticationDatabase "admin"

例如:

mongo -u "admin" -p "password" --authenticationDatabase "admin"

相关推荐
海南java第二人8 小时前
Nebula Graph 实战:基于图数据库存储 CMDB 实体关系
数据库·图数据库·nebula
曹牧8 小时前
oracle:“not all variables bound”
数据库·oracle
数据库百宝箱8 小时前
Oracle RMAN Image Copy 本地恢复
数据库·oracle
zuYM4g7Dp10 小时前
NoSql数据库设计心得
数据库·nosql
睡不醒男孩03082311 小时前
第七篇:揭秘 PostgreSQL 数据库内核级管控:CLup 深度架构设计与高可用底座技术白皮书
数据库·postgresql·clup
cmes_love12 小时前
Level 2逐笔成交历史数据下载方法笔记
数据库·笔记·oracle
swordbob12 小时前
MySQL字符集陷阱:从Oracle迁移踩坑到utf8mb4强制规范
数据库·sql
牛油果子哥q12 小时前
【C++ STL string 】C++ STL string 终极精讲:底层原理、内存机制、全套API、深浅拷贝、易错坑点与工程实战规范
数据库·c++
十五年专注C++开发13 小时前
MySql中各种功能用sql语句实现总结
数据库·sql·mysql
数据库小学妹13 小时前
AI时代数据库怎么选?多模融合、数据统一存储与选型实战指南
数据库·人工智能·经验分享·ai