2-MongoDB单机部署

简介: 本文详细介绍MongoDB在Windows和Linux系统中的安装、配置与启动方法,包括下载地址、版本选择、解压安装、命令行及配置文件启动方式,并介绍Shell连接、图形化工具Compass的使用,以及Linux下的服务管理与防火墙配置,附带各环境安装包下载链接。

2.1 Windows系统安装启动

下载安装包

附件中已准备好win32位、win64位安装包

MongoDB 提供了可用于 32 位和 64 位系统的预编译二进制包,你可以从MongoDB官网下载安装,MongoDB 预编译二进制包下载地址:https://www.mongodb.com/download-center#community

提示:版本的选择:

MongoDB的版本命名规范如:x.y.z;

y为奇数时表示当前版本为开发版,如:1.5.24.1.13

y为偶数时表示当前版本为稳定版,如:1.6.34.0.10

z是修正版本号,数字越大越好。

详情:http://docs.mongodb.org/manual/release-notes/#release-version-numbers  

解压安装启动

将压缩包解压到一个目录中。在解压目录中,手动建立一个目录用于存放数据文件,如:data/db

方式1:命令行参数启动

bin目录中打开命令行提示符,输入如下命令:

mongod--dbpath=..\data\db

我们在启动信息中可以看到,mongoDB的默认端口是27017,如果我们想改变默认的启动端口,可以通过--port来指定端口。

为了方便我们每次启动,可以将安装目录的bin目录设置到环境变量的path中,bin目录下是一些常用命令,比如mongod启动服务用的

方式2:配置文件启动

在解压目录中新建config文件夹,该文件夹中新建配置文件mongod.conf,内如参考如下:

storage:

#Thedirectorywherethemongodinstancestoresitsdata.DefaultValueis"\data\db"onWindows.

dbPath:D:\02_Server\DBServer\mongodb-win32-x86_64-2008plus-ssl-4.0.1\data

详细配置项内容可以参考官方文档:官方链接

【注意】

1)配置文件中如果使用双引号,比如路径地址,自动会将双引号的内容转义。如果不转义,则会报错:

error-parsing-yaml-config-file-yaml-cpp-error-at-line-3-column-15-unknown-escape-character-d

解决:

a. 对 \ 换成 / 或 \\  

b. 如果路径中没有空格,则无需加引号。

2)配置文件中不能以Tab分割字段

解决:将其转换成空格。

启动方式:

mongod -f ../config/mongod.conf

mongod --config ../config/mongod.conf

更多参数配置:

systemLog:

destination: file

#The path of the log file to which mongod or mongos should send all diagnostic logging information

path: "D:/02_Server/DBServer/mongodb-win32-x86_64-2008plus-ssl-4.0.1/log/mongod.log"

logAppend: true

storage:

journal:

enabled: true

#The directory where the mongod instance stores its data.Default Value is "/data/db".

dbPath: "D:/02_Server/DBServer/mongodb-win32-x86_64-2008plus-ssl-4.0.1/data"

net:

#bindIp: 127.0.0.1

port: 27017

setParameter:

enableLocalhostAuthBypass: false

2.2 Shell连接(mongo命令)

在命令提示符输入以下shell命令即可完成登陆

mongo

mongo --host=127.0.0.1 --port=27017

查看已经有的数据库

show databases

退出mongodb

exit

更多参数可以通过帮助查看:

mongo --help

提示: MongoDB javascript shell是一个基于javascript的解释器,故是支持js程序的。

2.3 Compass-图形化界面客户端

到MongoDB官网下载MongoDB Compass, 地址:链接

如果是下载安装版,则按照步骤安装;如果是下载加压缩版,直接解压,执行里面的 MongoDBCompassCommunity.exe 文件即可。

在打开的界面中,输入主机地址、端口等相关信息,点击连接:

2.4 Linux系统中的安装启动和连接

目标:在Linux中部署一个单机的MongoDB,作为生产环境下使用。

提示:和Windows下操作差不多。

步骤如下:

(1)先到官网下载压缩包 mongod-linux-x86_64-4.0.10.tgz 。

(2)上传压缩包到Linux中,解压到当前目录:

tar -xvf mongodb-linux-x86_64-4.0.10.tgz

(3)移动解压后的文件夹到指定的目录中:

mv mongodb-linux-x86_64-4.0.10 /usr/local/mongodb

(4)新建几个目录,分别用来存储数据和日志:

mkdir -p /mongodb/single/data/db

#日志存储目录

mkdir -p /mongodb/single/log

(5)新建并修改配置文件

vi /mongodb/single/mongod.conf

配置文件的内容如下:

systemLog:

#MongoDB发送所有日志输出的目标指定为文件

# #The path of the log file to which mongod or mongos should send all diagnostic logging information

destination: file

#mongodmongos应向其发送所有诊断日志记录信息的日志文件的路径

path: "/mongodb/single/log/mongod.log"

#mongosmongod实例重新启动时,mongosmongod会将新条目附加到现有日志文件的末尾。

logAppend: true

storage:

#mongod实例存储其数据的目录。storage.dbPath设置仅适用于mongod

##The directory where the mongod instance stores its data.Default Value is "/data/db".

dbPath: "/mongodb/single/data/db"

journal:

#启用或禁用持久性日志以确保数据文件保持有效和可恢复。

enabled: true

processManagement:

#启用在后台运行mongosmongod进程的守护进程模式。

fork: true

net:

#服务实例绑定的IP,默认是localhost

bindIp: localhost,192.168.0.2

(6)启动MongoDB服务

[root@bobohost single]# /usr/local/mongodb/bin/mongod -f /mongodb/single/mongod.conf

about to fork child process, waiting until server is ready for connections.

forked process: 90384

child process started successfully, parent exiting

注意: 如果启动后不是 successfully ,则是启动失败了。原因基本上就是配置文件有问题。

通过进程来查看服务是否启动了:

[root@bobohost single]# ps -ef |grep mongod

root 90384 1 0 8月26 ? 00:02:13 /usr/local/mongdb/bin/mongod -f /mongodb/single/mongod.conf

7)分别使用mongo命令和compass工具来连接测试。

提示:如果远程连接不上,需要配置防火墙放行,或直接关闭linux防火墙

systemctl status firewalld

#临时关闭防火墙

systemctl stop firewalld

#开机禁止启动防火墙

systemctl disable firewalld

8)停止关闭服务

停止服务的方式有两种:快速关闭和标准关闭,下面依次说明:

(一)快速关闭方法(快速,简单,数据可能会出错)

目标:通过系统的kill命令直接杀死进程:

杀完要检查一下,避免有的没有杀掉。

#通过进程编号关闭节点

kill -2 54410

【补充】 如果一旦是因为数据损坏,则需要进行如下操作(了解):

1)删除lock文件:

rm -f /mongodb/single/data/db/*.lock

2)修复数据:

/usr/local/mongdb/bin/mongod --repair --dbpath=/mongodb/single/data/db

(二)标准的关闭方法(数据不容易出错,但麻烦):

目标:通过mongo客户端中的shutdownServer命令来关闭服务

主要的操作步骤参考如下:

//客户端登录服务,注意,这里通过localhost登录,如果需要远程登录,必须先登录认证才行。

mongo --port 27017

//#切换到admin

use admin

//关闭服务

db.shutdownServer()

2.5 附件 各环境安装包

mongodb-win32-x86_64-2008plus-ssl-4.0.12.zip

mongodb-compass-community-1.16.4-win32-x64.zip


相关文章
|
JavaScript 前端开发 安全
前端实践:如何防止xss跨站脚本攻击(vue代码说明)
XSS(跨站脚本)攻击是一种常见的网络安全漏洞,攻击者通过在网页中注入恶意脚本代码,从而实现窃取用户信息、盗取会话令牌等攻击目的。为了防止XSS攻击,我们可以采取以下措施:
8082 0
前端实践:如何防止xss跨站脚本攻击(vue代码说明)
|
1月前
|
人工智能 安全 语音技术
当语言被困住:我们和 Qoder 跑通了一条有尊严的表达链路
MeantByMe是一款由Qoder赋能的语音补全产品,专为失语患者设计:实时补全含糊话语,经用户确认后播报,守护表达权与尊严。五天内,三人小队借助Qoder知识引擎与多Agent协作,高效完成全栈开发。
167 0
当语言被困住:我们和 Qoder 跑通了一条有尊严的表达链路
|
2月前
|
消息中间件 人工智能 运维
2026被称“最难秋招季”?软件测试人,你的机会藏在这3个变化里
2026年秋招“最难”实为结构性洗牌:传统手工测试岗锐减,而测试开发、质量工程等复合型岗位需求激增30%,薪资上浮、一将难求。核心转变有三——从“找Bug”转向“控风险”,从“用工具”升级为“建系统”,从“被动验证”跃迁至“主动驱动质量”。机会仍在,但只属于懂代码、通业务、擅工程的新型质量建设者。
|
2月前
|
Cloud Native Java Spring
ACK + GraalVM Native Image 实战:Spring Boot 3.4 从500ms到50ms启动的云原生 Java
K8s 里 Java 应用启动要 8 秒,HPA 弹性扩容等到流量早过去了——这是我们团队在 ACK 上部署 Spring Boot 微服务时遇到的真实困境。引入 GraalVM Native Image 后,启动时间从 8 秒降到 50ms,内存从 512MB 降到 64MB,镜像体积缩减 70%,Serverless 场景完美适配。本文从 Java 云原生困境出发,详解 GraalVM Native Image 编译原理、Spring Boot 3.4 适配全流程(运行时代理注册、序列化配置、动态代理、资源文件)、ACK 多架构镜像构建与部署实战
|
3月前
|
SQL 人工智能 中间件
GraphRAG + Multi-Agent 凭什么登上 Nature?
2026年5月《Nature Scientific Reports》刊发突破性论文:首创GraphRAG+Multi-Agent+多模态融合的五层统一平台,将Multi-hop QA准确率提升46%,实现真实业务落地(ATS/Text-to-SQL/Research Assistant),工程可复现、架构可复用。(239字)
354 0
|
3月前
|
缓存 前端开发 Java
HTTP协强制缓存与协商缓存详解
本文详解HTTP缓存机制,聚焦强制缓存(Cache-Control/Expires)与协商缓存(ETag/Last-Modified)的原理、区别及实战应用。涵盖F5与Ctrl+F5刷新差异、Spring Boot零代码配置、CDN协同策略,并澄清“协商缓存是否真用”的常见误解。助力前端与后端开发者精准掌控缓存,提升性能与体验。
464 0
|
5月前
|
缓存 安全 iOS开发
开源的 macOS 应用管理器和系统清理器
PureMac 是一款免费开源的 macOS 应用管理与系统清理工具,支持彻底卸载应用、清除残留文件及缓存日志等垃圾,释放磁盘空间。无订阅、无遥测、不收集任何用户数据,原生安全,智能扫描不误删。(239字)
512 1
|
5月前
|
人工智能 安全 搜索推荐
生成式 AI 驱动下网络安全手册重构与防御体系研究
本文探讨生成式AI如何颠覆传统网络安全防御体系,指出其使静态特征检测、固定响应流程和边界信任模型全面失效。文章提出以行为意图识别、持续信任验证和人机协同决策为核心的AI原生安全框架,并提供可落地的代码实现与运营规范,助力组织构建自适应、可解释、有制衡的下一代防御能力。(239字)
225 9
|
9月前
|
存储 JSON NoSQL
3-MongoDB常用命令
本文介绍MongoDB数据库操作,包括创建与删除数据库、集合的显式与隐式创建、文档的增删改查、批量操作、分页查询及排序统计等基本CRUD操作,适用于文章评论数据管理。
|
Android开发 容器
鸿蒙开发:使用nestedScroll解决滑动冲突
nestedScroll属性的作用,主要是,用于设置嵌套滚动选项,设置前后两个方向的嵌套滚动模式,实现与父组件的滚动联动。
433 19
鸿蒙开发:使用nestedScroll解决滑动冲突