MongoDB4.0.0 远程连接及用户名密码认证登陆配置——windows

本文介绍了MongoDB开启认证及用户权限设置的方法。首先创建管理员账户并赋予权限,接着修改配置文档mongod.cfg开启安全认证,然后重启服务,最后进行验证登陆。还提供了相关参考文档链接,帮助用户完成操作。

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

https://docs.mongodb.com/manual/tutorial/enable-authentication/

https://docs.mongodb.com/manual/core/security-built-in-roles/   

https://blog.youkuaiyun.com/Keith003/article/details/80897085

 

一、创建管理员账户并赋予权限
打开cmd,输入mongo,进入mongodb的命令页面

> use admin #进入admin数据库
switched to db admin
> db.createUser(
   {user:"admin",
    pwd:"admin",
    roles:[{role:"root", db:"admin"}]
    }
   )
user:”用户名“,

pwd:"密码”,

roles:[{role:"角色名“, db:"角色所属数据库”}, {role:"角色名2“, db:"角色所属数据库2”},.....]

各种角色的具体功能描述见:https://docs.mongodb.com/manual/core/security-built-in-roles/

用户添加成功会出现:成功的字样和添加的用户信息

二、修改配置文档mongod.cfg(位置:安装目录\bin 下)
首先,将bind_ip改为0.0.0.0 (让其他电脑可以访问,用于远程连接,如果bind_ip是127.0.0.1的话,就只能本地访问)

然后找到 #security:改成下图所示,开启安全认证。

security:
    authorization: enabled #注意缩进,参照其他的值来改,若是缩进不对可能导致后面服务不能重启
如图:

三、重启服务
重启MongoDB Server服务,启用认证!

四、验证的登陆
进入cmd,输入mongo,进入MongoDB shell.

直接输入命令会报错,因为没有认证登陆

接下来,进入账户所属数据库,再认证即可

> use admin
switched to db admin
> db.auth("用户名","密码")
1
> show dbs
admin    0.000GB
config   0.000GB
local    0.000GB
 
#这样登陆成功了
 
在图形管理页面可以远程连接,如图

登陆成功:


https://www.cnblogs.com/ddif/p/9605948.html

<think>我们首先需要安装MongoDB,然后配置用户名密码认证。以下步骤基于Windows系统:注意:根据引用[3]和[4],MongoDB默认没有管理员账户,需要创建用户并启用认证。步骤1:下载并安装MongoDB-从MongoDB官网下载Windows版本的安装包(注意版本,如4.4.1)。-安装,注意记录安装路径(例如:E:\mgb\bin)和数据目录(默认在C:\data\db,但建议自定义,例如在安装目录下创建data目录)。步骤2:创建配置文件(mongod.cfg)-在MongoDB的安装目录的bin目录下(或自定义位置)创建配置文件mongod.cfg。-配置文件内容示例(设置数据目录和日志目录):systemLog:destination:filepath:E:\mgb\data\log\mongod.loglogAppend:truestorage:dbPath:E:\mgb\data\db步骤3:安装MongoDB服务-以管理员身份运行命令提示符,进入bin目录(例如:cdE:\mgb\bin)。-执行安装服务的命令(根据引用[3]):mongod--config"E:\mgb\bin\mongod.cfg"--install--serviceName"MongoDB"步骤4:启动MongoDB服务(第一次启动不要启用认证,以便创建用户)-启动服务:netstartMongoDB-如果启动失败,参考引用[3]的解决办法:先删除服务(scdeleteMongoDB),然后重新安装。步骤5:连接MongoDB并创建管理员用户-在命令提示符中输入mongo,连接MongoDB(默认连接到test数据库)。-切换到admin数据库:useadmin-创建管理员用户(引用[4]):db.createUser({user:"adminUser",pwd:"adminPassword",roles:[{role:"userAdminAnyDatabase",db:"admin"}]})-注意:这里创建的是用户管理员,可以管理所有数据库的用户。根据需要,可以创建其他角色(如dbAdmin、readWrite等)。步骤6:启用认证-关闭MongoDB服务:netstopMongoDB-修改配置文件mongod.cfg,添加安全选项:security:authorization:enabled-重启服务:netstartMongoDB步骤7:使用用户名密码连接-连接MongoDB时使用用户名密码:mongo-uadminUser-padminPassword--authenticationDatabaseadmin-或者进入mongoshell后再认证:useadmindb.auth("adminUser","adminPassword")注意:在启用认证后,所有操作都需要认证。以上步骤综合了多个引用信息,特别是引用[3]和[4]关于创建用户和启用认证的部分。问题:如果安装服务时遇到错误,请确保以管理员身份运行命令提示符,并检查配置文件的路径是否正确。根据用户的问题,我们提供了在Windows上安装MongoDB并设置用户名密码的详细步骤。用户可以根据实际情况调整路径和用户名密码。</think> 根据您的需求,以下是**Windows系统下安装MongoDB配置用户名密码认证的完整教程**,结合了引用的关键信息: --- ### **步骤1:安装MongoDB服务** 1. **下载安装包** - 从[MongoDB官网](https://www.mongodb.com/try/download/community)下载Windows版安装包(建议选择稳定版本如4.4.1)。 - 解压到自定义目录(如 `E:\mongodb`)。 2. **初始化服务** ```powershell # 以管理员身份打开CMD,进入bin目录 cd E:\mongodb\bin # 创建数据存储目录和日志文件 mkdir E:\mongodb\data\db echo "" > E:\mongodb\log\mongod.log # 安装服务(需指定配置文件) mongod --dbpath "E:\mongodb\data\db" --logpath "E:\mongodb\log\mongod.log" --install --serviceName "MongoDB" ``` 3. **解决启动问题(引用[3])** 若服务启动失败(错误1058): ```powershell sc delete MongoDB # 删除旧服务 mongod --config "E:\mongodb\bin\mongod.cfg" --install # 重新安装 net start MongoDB # 启动服务 ``` --- ### **步骤2:创建管理员用户** 1. **无认证连接数据库** ```powershell mongo # 连接到默认的test数据库 ``` 2. **创建管理员用户(引用[4])** ```js use admin // 切换到admin数据库 db.createUser({ user: "adminUser", pwd: "yourPassword", // 自定义密码 roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] }) ``` > ✅ 权限说明:`userAdminAnyDatabase` 允许管理所有数据库的用户[^4]。 --- ### **步骤3:启用密码认证** 1. **修改配置文件** 在安装目录创建 `mongod.cfg` 文件,添加: ```yaml security: authorization: enabled # 启用认证 systemLog: destination: file path: E:\mongodb\log\mongod.log storage: dbPath: E:\mongodb\data\db ``` 2. **重启服务** ```powershell net stop MongoDB net start MongoDB # 应用新配置 ``` --- ### **步骤4:使用密码登录** ```powershell # 方式1:命令行登录(引用[1]) mongo -u adminUser -p yourPassword --authenticationDatabase admin # 方式2:进入Shell后认证 mongo use admin db.auth("adminUser", "yourPassword") # 返回1表示成功 ``` --- ### **关键注意事项** 1. **配置文件路径** 需在安装命令或配置文件中明确指定 `dbPath` 和 `logpath`(引用[3])。 2. **默认安全策略** MongoDB默认无密码(引用[4]),务必在首次启动后立即启用认证。 3. **连接工具** 使用MongoDB Compass图形工具连接时,需在连接字符串中指定用户名密码: ``` mongodb://adminUser:yourPassword@localhost:27017 ``` --- ### **常见问题解决** - **服务启动失败**:检查目录权限(需管理员运行CMD)及配置文件路径[^3]。 - **认证失败**:确认用户创建在 `admin` 库,且重启服务后生效[^4]。 通过以上步骤,您的MongoDB将在Windows系统实现安全的用户名密码认证。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值