Mongodb创建库修改密码学习

本文介绍了MongoDB的基本操作,包括数据库及用户的创建、密码修改等,并提供了常用的查询语句示例。

最近学习mongodb,

1.新建库

cmd进入到mongodb的bin目录,输入mongo,进入mongodb

然后# 切换到所需库中 (创建数据库也是这个命令)
use  DBNAME  (数据库名)
use  admin       #切库
db.auth('用户名','密码')    #认证权限,除刚安装好时没有用户,之后所有操作命令都是需要认证权限的,是安装好后创建的角色用户

# 创建数据访问的普通用户
db.createUser({user:"新用户名",pwd:"密码",roles:[{role:"readWrite",db:"数据库名"}]});
2.修改密码

如果要修改A库的B用户密码

use A  #改哪个库的用户密码,要切到哪个库

db.auth('用户名','密码')    #认证权限

db.changeUserPassword('B','新密码');

3.一些简单的查询语句

show dbs  #查看数据库

show users #查看当前库下的用户

查看所有用户的话,切到admin

db.system.users.find().pretty()  #查看所有用户

<think>我们正在讨论MongoDB创建账号的方法,用户提供的引用中已经包含了详细的步骤。 根据引用[1]、[2]、[3],我们可以总结出在MongoDB创建账号的通用步骤,包括在admin数据库创建管理员账号,然后在其他数据库创建特定权限的账号。 需要注意的是,在创建账号之前,需要先启动MongoDB服务(无需认证),然后使用mongo shell连接,进行用户创建操作,最后启用认证并重启服务。 我们将步骤分为以下几个部分: 1. 启动MongoDB服务(无认证模式) 2. 连接MongoDB 3. 创建管理员账号(在admin数据库) 4. 创建特定数据库的用户账号 5. 启用认证并重启服务 下面详细说明每个步骤: </think>### MongoDB 创建账号的详细步骤与方法 以下是 MongoDB 创建账号的完整流程,结合权限控制和安全最佳实践: --- #### **一、核心步骤** 1. **启动 MongoDB(无认证模式)** 先以无认证模式启动服务,否则无法创建首个用户: ```bash mongod --dbpath /data/db # Linux/Mac mongod --dbpath "E:\mongodb\data" # Windows ``` 2. **连接 MongoDB Shell** 打开新终端执行: ```bash mongo # 默认连接 localhost:27017 ``` 3. **创建管理员账号(超级权限)** 在 `admin` 数据库创建最高权限账号: ```javascript use admin // 切换到系统数据库 db.createUser({ user: "adminRoot", // 管理员用户名 pwd: "YourSecurePassword123!", // 强密码(至少16位) roles: [ { role: "root", db: "admin" } // 授予全局管理员权限[^1][^3] ] }) ``` ✅ 返回 `{ ok: 1 }` 表示成功。 4. **验证管理员账号** ```javascript db.auth("adminRoot", "YourSecurePassword123!") // 返回 1 即成功[^3] ``` 5. **创建应用数据库账号(按需授权)** 例如为数据库 `appDB` 创建读写账号: ```javascript use appDB // 切换到目标数据库 db.createUser({ user: "appUser", pwd: "UserPassword456!", roles: [ { role: "readWrite", db: "appDB" } // 仅限当前读写 ] }) ``` --- #### **二、启用认证并重启服务** 1. **修改配置文件** 在 `mongod.conf` 中添加: ```yaml security: authorization: enabled # 启用认证[^2][^3] ``` 2. **重启 MongoDB 服务** ```bash # Linux/Mac sudo systemctl restart mongod # Windows net stop MongoDB net start MongoDB ``` 3. **连接验证** 带认证连接数据库: ```bash mongo -u appUser -p UserPassword456! --authenticationDatabase appDB ``` --- #### **三、权限管理最佳实践** 1. **最小权限原则** - `read`:只读权限 - `readWrite`:读写权限 - `dbAdmin`:数据库管理 - `userAdmin`:用户管理 > 📌 避免滥用 `root` 角色[^1] 2. **密码安全要求** - 长度 ≥12 字符 - 包含大小写字母、数字、符号 - 定期轮换(通过 `db.updateUser()`) 3. **查看与删除用户** ```javascript use admin db.system.users.find() // 查看所有用户 db.dropUser("username") // 删除用户 ``` --- #### **四、常见问题解决** - **认证失败**:检查用户名/密码大小写、认证数据库名(`--authenticationDatabase`) - **权限不足**:用管理员账号重新授予角色: ```javascript db.grantRolesToUser("appUser", [{ role: "readWrite", db: "appDB" }]) ``` - **配置文件错误**:确保 YAML 缩进为 2 空格,路径无中文/特殊字符 --- ### 相关问题 1. 如何为 MongoDB 分片集群配置账号? 2. 如何使用 SSL/TLS 加密 MongoDB 连接? 3. 如何审计 MongoDB 的用户操作日志? 4. 忘记管理员密码时如何重置? > **引用说明**: > 管理员账号创建参考权限分配原则[^1],密码安全实践引用生产环境建议[^1][^3],认证配置步骤整合跨平台方案[^2][^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值