MongoDB数据库-安装与配置
下载准备
写在前面
这里,我将介绍Windows版和Linux版的搭建过程。
{% button #Windows版安装, Windows版 %}
{% button #Linux版安装, Linux版 %}
Windows版
-
运行mongodb-windows-x86_64-4.4.2-signed.msi进行安装(本文默认解压到了 C:\MongoDB\Server\4.2)。
安装比较容易,但有一个关键是,不要安装
MongoDB Compass
,这是MongoDB的官方图形用户界面,很大,下载速度很慢,而且有其他更好的替代品。难点在配置文件,启动Mongodb的服务以及将MongoDB设置成Windows服务,加载配置文件在windows的“服务”中找到。
关于网上教程中普遍推荐新建一个data文件夹等等一些操作,我的看法是可有可无,因为到了我这个版本,mongodb会自己创建这些东西。当然,如果为了方便寻找数据库和日志,自己建一个也可以。
这里我就简单描述一下:
(这里我默认在 C:\MongoDB\ 创建了文件夹)
C:\MongoDB\data\log目录,用来存放日志文件;
C:\MongoDB\Server\4.2\log\mongodb.log 里的 mongodb.log ,用来存放日志信息;
C:\MongoDB\Server\4.2\data\db目录,用来存放数据库数据。 -
在C:\MongoDB\Server\4.2\data目录下创建
db
文件夹(因为默认安装中没有这个文件夹,但后面要用)
在C:\MongoDB\Server\4.2目录下创建mongo.config,在文件内部复制如下文本: -
安装服务
用管理员权限
打开cmd命令行,输入如下命令安装mongodb服务:sc create MongoDB binPath= "C:\MongoDB\Server\4.2\bin\mongod.exe --service --config=C:\MongoDB\Server\4.2\mongo.config" 如果一直显示
[SC] CreateService 失败 1072:指定的服务已标记为删除。
,那请先退出服务
那个窗口,因为那个占用“频道”了。
再cd
进入C:\MongoDB\Server\4.2\bin文件夹,使用如下命令:cd C:\MongoDB\Server\4.2\bin mongod --config C:\MongoDB\Server\4.2\mongo.config --install --serviceName "MongoDB" 继续使用如下命令:
mongod --logpath "C:\MongoDB\Server\4.2\log\mongodb.log" --logappend --dbpath "C:\MongoDB\Server\4.2\data\db" --serviceName "MongoDB" --install
然后在cmd里输入services.msc
打开服务管理器,找到MongoDB服务,设置成自动启动,并启动。

如果启动不成功,先删除服务,使用如下命令:
sc delete MongoDB
然后再从第2步开始,重新排查各种配置项及操作
-
测试是否安装成功
进入C:\MongoDB\Server\4.2\bin文件夹下,点击mongod.exe,如果闪一下退出,说明安装正常。
然后在浏览器里访问这个地址http://localhost:27017/
如果显示了It looks like you are trying to access MongoDB over HTTP on the native driver port.
说明服务和端口正常。
配置环境变量(可省略)
- 如果不配置环境变量,在使用mongo命令时要先
cd
进入C:\MongoDB\Server\4.2\bin 目录才能使用命令 - 通过配置环境变量的方式,让mongo命令在所有文件夹内都可以访问
在系统变量中找到path,双击打开后在变量值中的末尾增加输入C:\MongoDB\Server\4.2\bin;
即可
(Win10则双击打开后点击“编辑文本
”同样在变量值中的末尾增加输入)!
远程连接MongoDB数据库(Windows版)
打开bin目录中的mongod.cfg文件进行编辑,其中bindIp:127.0.0.1改为0.0.0.0 不然别的地方访问不了,
取消security的#
注释符,并添加authorization:enabled

然后以管理员身份在bin目录下执行如下命令,使配置生效
mongod --config "C:\MongoDB\Server\4.2\bin\mongod.cfg" --install
然后重启MongoDB服务
net stop mongodb // 先关闭mongodb net start mongodb // 后开启mongodb
这里设置了0.0.0.0允许远程访问,所以最好加一层验证,添加一个mongo用户进行管理。
在bin目录打开cmd输入mongo
执行命令
cd C:\MongoDB\Server\4.2\bin mongo use admin
db.createUser({ "user":"admin","pwd":"password", "roles":[ {role:"userAdminAnyDatabase", db: "admin"},
{role:"readWriteAnyDatabase", db: "admin"}
]});
```
这里就添加了一个admin的用户,密码为password
{% note warning %}
另外远程访问的话,记得开启安全组和防火墙端口,可能会因为这个导致全盘皆输
{% endnote %}
Linux版
解压MongoDB压缩包
假设已将文件下载到 /home/
目录下,打开终端
,通过使用下面的命令
cd /home tar -xzvf mongodb-linux-x86_64-rhel80-5.0.6.tgz mv /home/mongodb-linux-x86_64-rhel80-5.0.6.tgz /home/software/mongodb-5.0.6
解压文件,从而在 /home/software
目录下生成 mongodb-5.0.6
目录
配置MongoDB
为了快速使用mongodb
命令, 可以配置环境变量。
编辑 ~/.profile
或/etc/profile
文件, 将mongodb/bin
路径加入即可,打开终端
,输入命令:
sudo vim /etc/profile
在/etc/profile
中,按i
进入编辑模式,在最下面添加以下行,注意路径:
export PATH=$PATH:/home/software/mongodb-5.0.6/bin
按ESC
退出编辑模式,再输入:wq
保存修改后,在终端运行以下命令使环境变量生效:
source /etc/profile
{% note info %}
注意:建议重启一下,不然,每新打开一个终端,都要输入source /etc/profile
才能使用mongo命令
{% endnote %}
然后,是建立数据库的存放位置和日志文件的存放位置,在终端运行以下命令
//用于存放数据库 mkdir -p /home/data/mongo-db //用于存放日志文件 mkdir -p /home/data/mongo-log
接着,在/home/software/mongodb-5.0.6
目录下新建一个名为 mongodb.conf
的配置文件,写入如下配置内容:
vim mongodb.conf
按i
进入编辑模式,按ESC
退出编辑模式,再输入:wq
保存修改。
#端口 port=27017 #默认127.0.0.1为只允许本地连接;0.0.0.0为不限制;多个指定服务器用","连接 bind_ip=127.0.0.1 #数据库存文件存放目录 dbpath=/home/data/mongo-db #日志文件 logpath=/home/data/mongo-log/mongodb.log #使用追加的方式写日志 logappend=true #以守护程序的方式启用,即在后台运行 fork=true #最大同时连接数 maxConns=100 #不启用验证 noauth=true #每次写入会记录一条操作日志(通过journal可以重新构造出写入的数据)。 #即使宕机,启动时wiredtiger会先将数据恢复到最近一次的checkpoint点,然后重放后续的journal日志来恢复。 journal=true #存储引擎有mmapv1、wiretiger、mongorocks storageEngine=wiredTiger
用以下命令启动mongodb
:
mongod --config /home/software/mongodb-5.0.6/mongodb.conf
这时mongod
已经启动了(这代表mongodb已经开始在后台运行)
测试mongodb安装
继续在终端输入mongo
进入交互程序:
mongo
行首出现 > 表示进入mongo的交互程序,此时输入:
show dbs;
出现
admin 0.000GB config 0.000GB local 0.000GB 即安装成功
关于 MongoDB用户 的命令
{% include_code lang:txt MongoDB用户命令.txt %}
MongoDB命令
{% include_code lang:txt mongodb.txt %}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!