本文主要介绍 MongoDB 最新版本 6.x 在Windows 和 Linux 操作系统下的安装方式,和过去 4.x 、5.x 有些许不同之处,供大家参考。
Windows 安装
进入官网下载 Mongodb 安装包,点此跳转,网站会自动检测当前操作系统提供最新的版本,和适合此平台的安装包:
除了 .msi
格式的安装包,还可以选择 .zip
压缩包:
msi 安装
双击打开下载好的安装包,一直点击下一步:
勾选同意:
选择一个完整安装:
保持默认即可,这一步用来设置 windows 系统中 MongoDB 服务的名字,以及数据和日志的存放目录:
去掉默认选中项,它会安装一个用于操作 MongoDB 数据库的客户端工具,推荐安装另一款 Robo 3T 或者其他你习惯用的:
然后点下一步进行安装即可,安装过程大概三五分钟。
安装成功:
查看 MongoDB 服务的状态
按 Ctrl + Shfit + Esc
,打开任务管理器,切换到服务选项卡,下拉找到 MongoDB 服务。
在这里可以观察到 MongoDB 的状态,默认是自动启动,即开机自启。
或者打开浏览器访问 https://localhost:27017
:
MongoDB 目录
来到 MongoDB 的安装目录,默认是 C:/Program Files/MongoDB/Server/6.0
,或者你选择的其他目录。
其中,bin 是 MongoDB 提供的可执行程序的目录,data 是数据存储的目录,log 是日志存储的目录。后两者在过去都需要开发者手动创建。现在安装程序会自动创建。
看下 bin 目录下的可执行程序, mongod.exe
用来启动 MongoDB 服务,mongos.exe
用来管理分片集群。
在 MongDB 6 以前,这个目录下会有很多可执行程序,比如最常用的 mongo.exe
,它用来连接到 MongoDB 服务,是一个 shell 环境的客户端工具。但是现在需要单独进行安装。
安装 MongoDB Shell
点击跳转,下载压缩包:
一直点击下一步安装即可,安装目录可使用默认,或者自定义:
访问 MongoDB 服务
在 bin 目录下,打开命令行工具,
安装完成后,进入安装目录,打开命令行工具,执行 mongosh.exe
,默认会连接 mongodb://localhost:27017
的 MongoDB 服务:
这是一个 shell 环境,支持 JavaScript 语法,还有一些扩展的操作数据库语法,比如查看所有的数据库:
show dbs
设置环境变量
为了方便在各个路径下使用 MongoDB 提供的命令和 MongoDB Shell,而不用切换到 bin
目录下,可以将 bin
目录添加到环境变量中。
按 Win + S 打开搜索,输入“环境变量”:
双击打开 Path 变量:
将 bin 目录添加进行保存即可:
之后就可以在任意路径下使用 mongosh
、mongod
等命令了。
Linux 安装
安装 MongoDB
本文以 CentOS 8 为例,其他 Linux 版本可点此参考官方文档进行安装。
可以从官网下载好安装包,上传到服务器或者虚拟机中:
或者直接在服务器中通过下载工具进行下载:
# wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel80-6.0.2.tgz
查看下载好的安装包:
# ls
mongodb-linux-x86_64-rhel80-6.0.2.tgz
解压并将目录重命名为“mongodb”:
# tar -zxf mongodb-linux-x86_64-rhel80-6.0.2.tgz
# ls
mongodb-linux-x86_64-rhel80-6.0.2 mongodb-linux-x86_64-rhel80-6.0.2.tgz
# mv mongodb-linux-x86_64-rhel80-6.0.2 mongodb
进入安装包目录:
# cd mongodb
# ll
total 140
drwxr-xr-x 2 root root 4096 Nov 8 22:50 bin
-rw-r--r-- 1 root root 30608 Sep 29 09:07 LICENSE-Community.txt
-rw-r--r-- 1 root root 16726 Sep 29 09:07 MPL-2
-rw-r--r-- 1 root root 1977 Sep 29 09:07 README
-rw-r--r-- 1 root root 77913 Sep 29 09:07 THIRD-PARTY-NOTICES
其中,bin
目录存放数据库提供的命令:
安装 mongodb shell
下载安装包:
# wget https://downloads.mongodb.com/compass/mongosh-1.6.0-linux-x64.tgz
解压:
# tar -zfx mongosh-1.6.0-linux-x64.tgz
重命名解压后的目录:
# mv mongosh-1.6.0-linux-x64.tgz mongosh
在 mongosh/bin
目录下提供了 mongosh
命令用于连接到 MongoDB 数据库服务:
将 bin 目录添加到 Path 中
目前 mongod
命令所在目录路径是 ~/mongodb/bin
, mongosh
命令所在目录路径是 ~/mongosh/bin
,需要将这两个路径添加到 Path 环境变量中。
使用 vim 编辑文件:
# vim ~/.bash_profile
在 Path
一行最后追加这两个目录,然后保存退出:
然后执行source
命令,重新加载环境变量,使刚才的配置生效:
# source ~/.bash_profile
启动数据库服务
MongoDB 服务在启动时需要指定数据存储的目录。如果没有指定的话,默认会去找 /data/db/
目录。
上面在 Windows 系统使用 msi 安装包安装时就指定好了数据目录和日志目录。如果使用的是 zip 压缩包,则默认的数据存储目录是当前磁盘卷的 \data\db\
目录。
如果数据目录不存在或不可写,那么服务器端将无法启动。因此在启动 MongoDB 服务之前,一定要确保数据目录存在且对该目录有写权限。
先建立两个目录:
# mkdir -p /data/mongodb/data
# mkdir -p /data/mongodb/log
使用 mongod
命令启动数据库服务:
# mongod --fork --dbpath=/data/mongodb/data --logpath=/data/mongodb/log/mongo.log
- –fork:在基于 Unix 的系统中,使用 fork 创建服务器进程,将 MongoDB 服务作为守护进程运行。如果指定了 --fork,则必须同时指定 --logpath。
- –dbpath:指定存放 MongoDB 数据的目录,启动服务时必须指定。
- –logpath:默认日志是打印在命令行中的,使用该选项指定日志输出的文件。如果对此目录有写权限且文件不存在,则会自动创建该文件。如果日志文件已经存在,默认会覆盖掉该文件,并删除所有旧的日志。如果希望保留旧的日志,除了使用 --logpath 之外,还应该使用 --logappend 选项。
连接到 MongoDB 服务
使用 mongosh
命令连接服务:
# mongsh
默认连接到 mongodb:localhost:27017
。
已经正常连接到 MongoDB 服务了,之后就能在 shell 中操作数据库了。
总结
本文详细介绍了如何在 Windows、Linux 下安装最新版的 MongoDB 数据库。相比于 5.x,新版本的 MongoDB 在安装时的变化是将从前的 mongo
命令废弃,需要用户单独安装 MongoDB Shell 来操作数据库。如果不需要使用 shell ,则可以省去这一步。