使用.tgz Tarball 在 macOS 上安装 MongoDB Community

在本页面

Overview

使用本教程,可以使用下载的.tgz tarball 在 macOS 上手动安装 MongoDB 3.6 Community Edition。

MongoDB Version

本教程将安装 MongoDB 3.6 Community Edition。要安装其他版本的 MongoDB 社区,请使用此页面左上角的版本下拉菜单选择该版本的文档。

Installation Method

如本文档所述,虽然可以通过下载的.tgz tarball 手动安装 MongoDB,但建议尽可能使用系统上的brew软件包 Management 器来安装 MongoDB。使用程序包 Management 器会自动安装所有必需的依赖项,并提供示例mongod.conf文件来帮助您入门,并简化以后的升级和维护任务。

➤有关说明,请参见使用 brew Package Manager 安装 MongoDB

Considerations

Platform Support

MongoDB 3.6 Community Edition 支持 macOS 10.10 或更高版本。

Note

MongoDB 3.6 尚未在 macOS 10.13 中的新文件系统 APFS 上进行测试,可能会遇到错误。

有关更多信息,请参见Supported Platforms

Production Notes

在生产环境中部署 MongoDB 之前,请考虑Production Notes文档,该文档提供了生产 MongoDB 部署的性能注意事项和配置建议。

安装 MongoDB 社区版

请按照以下步骤从.tgz手动安装 MongoDB Community Edition。

下载 MongoDB .tgz 压缩包。

MongoDB 下载中心下载适用于您系统的 tarball。

从下载的存档中提取文件。

tar -zxvf mongodb-osx-ssl-x86_64-3.6.19.tgz

如果您的网络浏览器在下载过程中自动将文件解压缩,则该文件将以.tar结尾。

确保二进制文件位于 PATH 环境变量中列出的目录中。

MongoDB 二进制文件位于 tarball 的bin/目录中。您可以:

  • 将二进制文件复制到PATH变量中列出的目录中,例如/usr/local/bin(使用适当的安装目录更新/path/to/the/mongodb-directory/)
sudo cp /path/to/the/mongodb-directory/bin/* /usr/local/bin/
  • PATH变量中列出的目录(例如/usr/local/bin)创建指向二进制文件的符号链接(使用适当的安装目录更新/path/to/the/mongodb-directory/):
sudo ln -s  /path/to/the/mongodb-directory/bin/* /usr/local/bin/

运行 MongoDB 社区版

请按照以下步骤运行 MongoDB Community Edition。这些说明假定您使用的是默认设置。

创建数据目录。

首次启动 MongoDB 之前,必须创建mongod进程将向其写入数据的目录。

例如,要创建/usr/local/var/mongodb目录:

sudo mkdir -p /usr/local/var/mongodb

Important

从 macOS 10.15 Catalina 开始,Apple 限制对 MongoDB 默认数据目录/data/db的访问。在 macOS 10.15 Catalina 上,您必须使用其他数据目录,例如/usr/local/var/mongodb

创建日志目录。

您还必须创建mongod进程将在其中写入其日志文件的目录:

例如,要创建/usr/local/var/log/mongodb目录:

sudo mkdir -p /usr/local/var/log/mongodb

设置数据和日志目录的权限。

确保运行mongod的用户帐户具有对这两个目录的读写权限。如果您以自己的用户帐户运行mongod,并且刚刚在上面创建了两个目录,则您的用户应该已经可以访问它们。否则,您可以使用chown设置所有权,以替换适当的用户:

sudo chown my_mongodb_user /usr/local/var/mongodb
sudo chown my_mongodb_user /usr/local/var/log/mongodb

Run MongoDB.

要运行 MongoDB,请在系统提示符下运行mongod进程,并从上方提供两个参数dbpathlogpath,并提供fork参数在后台运行mongod。或者,您可以选择将dbpathlogpathfork以及许多其他参数的值存储在configuration file中。

使用命令行参数运行 mongod

在系统提示符下运行mongod进程,直接在命令行上提供三个必需的参数:

mongod --dbpath /usr/local/var/mongodb --logpath /usr/local/var/log/mongodb/mongo.log --fork

使用配置文件运行 mongod

在系统提示符下运行mongod进程,并使用config参数提供configuration file的路径:

mongod --config /usr/local/etc/mongod.conf

macOS Prevents mongod From Opening

安装后,macOS 可能会阻止mongod运行。如果在启动mongod时收到指示无法识别或验证开发人员的安全错误,请执行以下操作以授予mongod运行权限:

  • 打开系统偏好设置

  • 选择“安全和隐私”窗格。

  • 在* General *选项卡下,单击关于mongod的消息右侧的按钮,根据您的 macOS 版本标记为 Anyway anyway 或 Allow Anyway。

确认 MongoDB 已成功启动。

验证 MongoDB 已成功启动:

ps aux | grep -v grep | grep mongod

如果看不到正在运行的mongod进程,请检查日志文件中是否有任何错误消息。

开始使用 MongoDB。

在与mongod相同的主机上启动mongo shell。您可以在没有任何命令行选项的情况下运行mongo shell,以使用默认端口* 27017 连接到在 localhost *上运行的mongod

mongo

macOS Prevents mongo From Opening

安装后,macOS 可能会阻止mongo运行。如果在启动mongo时收到指示无法识别或验证开发人员的安全错误,请执行以下操作以授予mongo运行权限:

  • 打开系统偏好设置

  • 选择“安全和隐私”窗格。

  • 在* General *选项卡下,单击关于mongo的消息右侧的按钮,根据您的 macOS 版本标记为 Anyway anyway 或 Allow Anyway。

有关使用mongo shell 连接的更多信息,例如连接到在不同主机和/或端口上运行的mongod实例,请参见Mongo 壳牌

为了帮助您开始使用 MongoDB,MongoDB 提供了各种驱动程序版本的入门指南。有关可用版本,请参见Getting Started

Additional Information

默认情况下,localhost 绑定

默认情况下,MongoDB 在bindIp设置为127.0.0.1的情况下启动,该绑定到 localhost 网络接口。这意味着mongod仅可以接受来自同一计算机上运行的 Client 端的连接。远程 Client 端将无法连接到mongod,并且mongod将无法初始化replica set,除非将此值设置为有效的网络接口。

可以配置此值:

  • 在带有bindIp的 MongoDB 配置文件中,或者

  • 通过命令行参数--bind_ip

Warning

绑定到非 localhost(例如可公开访问)的 IP 地址之前,请确保已保护群集免受未经授权的访问。有关安全建议的完整列表,请参见Security Checklist。至少考虑enabling authentication加强网络基础设施

有关配置bindIp的更多信息,请参见MongoDB 配置强化