安装 MongoDB
-
- 1、选择版本
- 2、在Windows系统中安装
- [3、在POSIX系统(Linux和Mac OSX)中安装](#3、在POSIX系统(Linux和Mac OSX)中安装)
MongoDB 的二进制文件可用于 Linux、macOS、Windows 和 Solaris 系统。这意味着在大多数平台上,可以从 MongoDB 下载中心的页面下载一份压缩包,解压并运行二进制文件。
MongoDB 服务器不仅需要一个目录来写入数据库文件,而且需要一个端口来监听连接。本节会介绍在两种系统Windows 系统和其他系统(Linux/Unix/macOS) 中的完整安装过程。
当说到"安装 MongoDB"时,通常说的就是安装核心数据库服务器 mongod。mongod 既可以作为单机服务器使用,也可以作为副本集的成员。大多数情况下,这就是要使用的 MongoDB 进程。
1、选择版本
MongoDB 使用的版本管理模式(schema)相当简单:偶数号是稳定版本,奇数号是开发版本。例如,任何以4.2 开头的版本都是稳定版本,比如 4.2.0、4.2.1 和4.2.8。任何以 4.3 开头的版本都是开发版本,比如4.3.0、4.3.2 或 4.3.12。下面将以 4.2 和 4.3 版本为例来演示版本变化的时间线。
- MongoDB 4.2.0 发布。这是一个主要版本,有大量的更新日志(changelog)。
- 在开发者着手开发 4.4 版本(下一个主要的稳定版本)之后,发布了 4.3.0 版本。这是一个新的开发分支,与 4.2.0 非常相似,但可能会有一两个额外的特性,也可能存在一些漏洞。
- 随着开发者继续添加特性,他们发布了 4.3.1、4.3.2等版本。这些版本不应该在生产环境中使用。
- 一些小的漏洞修复可能会被反向应用(backport)到4.2 分支上,这会导致 4.2.1、4.2.2 等版本的发布。开发者对于什么可以被反向应用是很保守的,一个稳定的发行版很少会添加新的特性。通常来说,其只会进行漏洞修复。
- 在 4.4.0 完成了所有主要的既定目标之后,4.3.7(或任何最新的开发版本)会变为 4.4.0-rc0。
- 在对 4.4.0-rc0 进行了大量测试之后,通常会发现一些需要修复的小漏洞。开发者修复了这些漏洞并发布了 4.4.0-rc1 版本。
- 开发者重复第 6 步,直到没有新的漏洞出现,然后将 4.4.0-rc2(或任何最新版本)重命名为 4.4.0。
- 开发者从步骤 1 开始,将所有版本号增加 0.2。通过 MongoDB 的漏洞跟踪系统中的核心服务器路线图,可以看到一个生产版本离发布有多近。
如果是在生产环境中运行,那么应该使用稳定版本。如果计划在生产环境中使用开发版本,则应该首先在邮件列表或 IRC 中询问开发者的建议。
如果刚刚开始项目开发,那么使用开发版本可能是更好的选择。等到项目部署至生产环境时,可能已经有一个包含所使用特性的稳定版本发布了(MongoDB 坚持每 12 个月为周期发布一个稳定版本)。然而,必须在这一点与可能遇到的服务器漏洞之间进行权衡,这可能会导致新用户不敢尝试。
2、在Windows系统中安装
要在 Windows 系统中安装 MongoDB,应在 MongoDB下载中心的相应页面下载 Windows 的 .msi 文件。根据上一节的建议选择正确的 MongoDB 版本。点击链接后就会开始下载 .msi 文件,然后双击 .msi 文件图标来启动安装程序。
现在需要创建一个目录,以便 MongoDB 在其中写入数据库文件。默认情况下,MongoDB 会尝试使用当前驱动器上的 \data\db 目录作为它的数据目录(如果在Windows 系统的 C: 下运行 mongod,那么它会使用C:\Program Files\MongoDB\Server&\data 目录)。这将由安装程序自动创建。如果选择使用 \data\db 之外的目录,那么在启动MongoDB 时需要指定路径,稍后我们会对其进行介绍。
在已经有了一个数据目录后,可以打开命令行提示符(cmd.exe)。在解压后的 MongoDB 二进制文件所在目录下运行如下命令:
bash
$ C:\Program Files\MongoDB\Server\&<VERSION>\bin\mongod.exe
如果选择的目录不是 C:\ProgramFiles\MongoDB\Server&\data,则必须使用 --dbpath 参数来对其进行指定:
bash
$ C:\Program Files\MongoDB\Server\&<VERSION>\bin\mongod.exe \
--dbpath C:\Documents and Settings\Username\My Documents\db
** 作为服务安装**
MongoDB 也可以作为服务安装在 Windows 系统中。要做到这一点,只需使用完整路径运行,转义其中的空格,并使用 --install 选项:
bash
$ C:\Program Files\MongoDB\Server\4.2.0\bin\mongod.exe \
--dbpath "\"C:\Documents and Settings\Username\My Documents\db\"" \
--install
之后就可以使用控制面板来启动和停止 MongoDB 服务了。
3、在POSIX系统(Linux和Mac OSX)中安装
选择 MongoDB 的一个版本。进入MongoDB 下载中心,选择适合你操作系统的版本。
如果使用的是 Mac 并且正在运行 macOS Catalina10.15+,则应该使用 /System/Volumes/Data/db 目录而不是 /data/db 目录。这个版本的系统做了一项变更,使根目录变为了只读,并且会在重新启动时重置,这将导致 MongoDB 数据文件夹的丢失。
必须创建一个目录,以便数据库将文件放入其中。默认情况下,数据库会使用 /data/db,也可以指定任何其他目录。如果创建默认目录,则需要确保它具有正确的写权限。可以运行以下命令来创建目录并设置权限:
bash
$ mkdir -p /data/db
$ chown -R $USER:$USER /data/db
如果需要,可以使用 mkdir -p 创建指定目录及其所有父目录(如果 /data 目录不存在,则会先创建 /data 目录,然后再创建 /data/db 目录)。使用 chown 命令修改 /data/db 的所有权,以便用户对其进行写入。当然,也可以在用户的主文件夹中创建目录,并在启动数据库时将其指定为 MongoDB 的数据目录,从而避免任何权限问题。
对从 MongoDB 下载中心下载的 .tar.gz 文件进行解压:
bash
$ tar zxf mongodb-linux-x86_64-enterprise-rhel62-4.2.0.tgz
$ cd mongodb-linux-x86_64-enterprise-rhel62-4.2.0
现在可以启动数据库了:
bash
$ bin/mongod
或者,如果希望使用其他数据库路径,则可以使用 --dbpath 选项对其进行指定:
bash
$ bin/mongod --dbpath ~/db
可以运行 bin/mongod --help 来查看所有可能的选项。
通过包管理器安装
还有许多包管理器工具可用于安装 MongoDB。如果选择使用其中的一种,可以选择 Red Hat、Debian 和Ubuntu 的官方包,以及许多针对其他系统的非官方包。如果使用的是非官方版本,则需要确保安装的是相对比较新的版本。
在 macOS 系统中,有用于 Homebrew 和 MacPorts 的非官方包。要使用 MongoDB Homebrew 的 tap,首先需要安装该 tap,然后通过 Homebrew 安装所需的MongoDB 版本。下面的示例演示了如何安装 MongoDB社区版的最新生产版本。可以在 macOS 终端会话中添加自定义 tap:
bash
$ brew tap mongodb/brew
然后使用以下命令安装 MongoDB 社区版服务器的最新生产版本(包括所有命令行工具):
bash
$ brew install mongodb-community
如果选择的是 MacPorts 版本,则需要注意:编译所有的Boost 库需要花费数小时,这是安装 MongoDB 的先决条件。
不管使用的包管理工具是什么,在遇到问题并需要找到 MongoDB 日志(log)文件之前,应该先明确日志文件的位置。在出现任何可能的问题之前,确保日志被正确保存是很重要的。