Windows 平台安装 MongoDB(超详细)
💡一则或许对你有用的小广告
欢迎加入小哈的星球 ,你将获得:专属的项目实战 / 1v1 提问 / Java 学习路线 / 学习打卡 / 每月赠书 / 社群讨论
- 新项目:《从零手撸:仿小红书(微服务架构)》 正在持续爆肝中,基于
Spring Cloud Alibaba + Spring Boot 3.x + JDK 17...
,点击查看项目介绍 ;- 《从零手撸:前后端分离博客项目(全栈开发)》 2 期已完结,演示链接: http://116.62.199.48/ ;
截止目前, 星球 内专栏累计输出 82w+ 字,讲解图 3441+ 张,还在持续爆肝中.. 后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,权限管理,Spring Cloud Alibaba 微服务等等,已有 2900+ 小伙伴加入学习 ,欢迎点击围观
在现代软件开发中,数据库的选择直接影响着项目的效率与扩展性。MongoDB 作为一款广受欢迎的 NoSQL 数据库,凭借其灵活的数据模型和高性能特性,成为开发者构建现代应用的首选工具之一。然而,对于编程初学者和中级开发者而言,如何在 Windows 平台上顺利安装 MongoDB 并配置环境,往往是他们迈向实践的第一道门槛。本文将通过分步指南、实用案例和常见问题解答,帮助读者以循序渐进的方式掌握 MongoDB 的安装与基础操作,同时结合生动的比喻,让复杂的技术概念变得通俗易懂。
系统要求与准备工作
在开始安装前,确保您的 Windows 系统符合 MongoDB 的最低要求。MongoDB 支持 Windows 7 或更高版本,建议使用 64 位操作系统以获得最佳性能。此外,需预留至少 500MB 的磁盘空间用于安装核心文件。
系统环境检查
- 操作系统版本:通过
Win + R
输入winver
,确认系统版本是否为 Windows 10 或更高版本。 - 磁盘空间:在资源管理器中查看
C:\
或指定安装路径的可用空间。 - 端口占用情况:MongoDB 默认使用 27017 端口,可通过命令
netstat -ano
检查该端口是否被占用。
比喻说明:
将 MongoDB 的安装比作搭建一座图书馆。在动工前,我们需要确认场地(系统)是否足够宽敞(磁盘空间),结构是否稳固(系统版本兼容性),以及是否有其他设施(端口)占用关键位置。
正式安装步骤
第一步:下载 MongoDB 安装包
访问 MongoDB 官方下载页面 ,选择 Windows 平台并下载 Community Server 版本。对于大多数开发者,推荐选择 MSI 安装程序,因其提供了图形化界面和自动配置功能。
注意:
- 选择与系统位数匹配的版本(如 64-bit)。
- 如果需要长期稳定运行,建议选择 LTS(Long Term Support)版本。
第二步:解压与配置数据目录
安装包下载完成后,双击运行 MSI 文件。在安装向导中:
- 选择 Complete 安装类型,确保包含所有组件(如
mongod.exe
和mongo.exe
)。 - 在 Configure Firewall 步骤中,勾选允许 MongoDB 服务通过防火墙。
- 自定义数据目录路径(默认为
C:\data\db
)。
关键操作:
如果选择自定义路径,需手动创建数据目录。例如,在 D:\mongodb\data\db
中创建多级文件夹,并确保该路径无空格或特殊字符。
第三步:配置环境变量(可选但推荐)
为了在任意路径下直接运行 MongoDB 命令,需将安装路径添加到系统环境变量中。步骤如下:
- 右键点击 此电脑 → 属性 → 高级系统设置 → 环境变量。
- 在 系统变量 中找到
Path
,点击 编辑 → 新建,添加 MongoDB 的bin
目录路径(如C:\Program Files\MongoDB\Server\6.0\bin
)。
表格说明:
| 操作步骤 | 说明 |
|----------|------|
| 1. 打开环境变量设置 | 进入系统属性的高级选项 |
| 2. 编辑 Path 变量 | 将 MongoDB 的 bin 目录路径添加到列表中 |
| 3. 确认配置生效 | 重启命令行工具以应用新路径 |
启动 MongoDB 服务
完成安装后,需通过命令行启动数据库服务。以下是两种常用方式:
方法一:直接启动服务(推荐新手使用)
- 以管理员身份打开 命令提示符(CMD)。
- 输入以下命令启动 MongoDB 服务:
mongod --dbpath "D:\mongodb\data\db"
参数说明:
--dbpath
指定数据目录路径,需与安装时配置的路径一致。
方法二:通过 Windows 服务管理器(适合长期运行)
- 在 CMD 中以管理员身份运行:
mongod --install --dbpath "D:\mongodb\data\db" --logpath "D:\mongodb\log\mongod.log"
此命令将 MongoDB 注册为系统服务,并指定日志文件路径。
- 启动服务:
net start MongoDB
成功启动标志:
当终端显示 waiting for connections on port 27017
时,表明数据库服务已就绪。
连接与验证安装
第一步:启动 MongoDB 客户端
在另一终端窗口中输入:
mongo
若成功连接,将看到类似以下提示:
MongoDB shell version v6.0.5
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("a1b2c3d4-5678-90ef-1234-567890abcdef") }
MongoDB server version: 6.0.5
>
第二步:执行简单查询验证
在 MongoDB shell 中输入以下命令测试基础功能:
// 创建数据库
use myTestDB
// 创建集合(表)
db.createCollection("users")
// 插入测试数据
db.users.insertOne({ name: "Alice", age: 30 })
// 查询数据
db.users.find().pretty()
若返回插入的文档,则说明数据库功能正常。
常见问题与解决方案
问题 1:启动服务时提示端口被占用
现象:终端显示 Address already in use : Socket in use
。
原因:另一个进程占用了 27017 端口。
解决方法:
- 终止占用进程:
netstat -ano | findstr :27017 taskkill /F /PID <进程ID>
- 或修改 MongoDB 端口(在启动命令中添加
--port 27018
)。
问题 2:数据目录权限不足
现象:启动时提示 Unable to check file: access denied
。
解决方法:
- 确认数据目录路径存在且可写。
- 以管理员身份运行 CMD 启动服务。
问题 3:无法连接到 MongoDB 服务
现象:执行 mongo
命令时显示 failed to connect to server
。
解决方法:
- 检查服务是否已启动(通过
net start
查看 MongoDB 服务状态)。 - 防火墙设置是否阻止了本地连接。
进阶配置与优化建议
配置文件的使用
通过创建 mongod.cfg
配置文件,可集中管理 MongoDB 的参数。例如:
storage:
dbPath: D:\mongodb\data\db
systemLog:
destination: file
path: D:\mongodb\log\mongod.log
net:
port: 27017
bindIp: 127.0.0.1
启动服务时指定配置文件:
mongod --config "D:\mongodb\mongod.cfg"
启用身份验证(安全性增强)
默认 MongoDB 不启用认证,生产环境建议配置用户名和密码:
- 在 shell 中切换到
admin
数据库:use admin db.createUser({ user: "admin", pwd: "your_secure_password", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] })
- 修改配置文件添加:
security: authorization: enabled
- 重启服务后,连接时需指定凭据:
mongo -u admin -p your_secure_password --authenticationDatabase admin
结论
通过本文的分步指南,您已掌握了在 Windows 平台上安装和配置 MongoDB 的核心步骤。从环境检查、安装包下载到服务启动与验证,每个环节都需细心操作以避免常见问题。MongoDB 的灵活性使其成为构建动态应用的理想选择,而通过配置文件、身份验证等进阶设置,开发者可进一步优化其性能与安全性。
下一步,您可以尝试将 MongoDB 与 Python、Node.js 等编程语言结合,实现数据的增删改查,或探索其文档模型在实际项目中的应用。记住,实践是掌握技术的最佳途径——现在,是时候打开你的开发环境,开始编写第一个 MongoDB 应用程序了!