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"

相关推荐
15Moonlight几秒前
09-MySQL内外连接
数据库·c++·mysql
大G的笔记本9 分钟前
Redis 分布式锁如何保证同一时间只有一个客户端持有锁
数据库·redis·分布式
呆呆小金人13 分钟前
SQL优化实战:从慢查询到高效查询
大数据·数据库·数据仓库·sql·数据库开发·etl·etl工程师
无聊的小坏坏13 分钟前
Redis 从基础到实战
数据库·redis·缓存
爱隐身的官人34 分钟前
SQL注入过滤绕过fuzz字典
数据库·sql
小马哥编程1 小时前
【软考架构】案例分析-系统设计与建模:数据流图DFD与数据字典
java·数据库·架构·统一建模语言
sibylyue1 小时前
Spring编程式事务和声明式事务
java·数据库·mysql
人类二号1 小时前
MySQL安装及启用(社区版)
数据库·mysql
StarRocks_labs2 小时前
告别 Hadoop,拥抱 StarRocks!政采云数据平台升级之路
大数据·数据库·starrocks·hadoop·存算分离
骇客野人9 小时前
mysql笛卡尔积怎么形成的怎么避免笛卡尔积
数据库·mysql