在 macOS 上安装 MongoDB Community Edition

在本页面

Overview

使用本教程,可以使用第三方brew软件包 Management 器在 macOS 上安装 MongoDB 3.6 Community Edition。

MongoDB Version

本教程将安装 MongoDB 3.6 Community Edition。要安装其他版本的 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 社区版

Prerequisites

如果您在 OSX 主机上安装了 Homebrew brew软件包*,并且*您以前已经使用了官方的MongoDB Homebrew Tap,则跳过前提条件并转到Procedure步骤。

Install XCode

Apple 的 XCode 包含brew所需的命令行工具,可在 App Store 上免费使用。确保您正在运行最新版本。

Install Homebrew

OSX 默认不包括 Homebrew brew软件包。使用official instructions安装brew

点击 MongoDB Homebrew 点击

从终端发出以下内容以点击官方的MongoDB Homebrew Tap

brew tap mongodb/brew

Procedure

请按照以下步骤使用第三方brew程序包 Management 器安装 MongoDB 社区版。

在终端上,发出以下命令:

brew install mongodb-community@3.6

Tip

如果您以前安装了该公式的较旧版本,则可能会遇到 ChecksumMismatchError。要解决,请参阅Troubleshooting ChecksumMismatchError

除了binaries,安装还会创建:

运行 MongoDB 社区版

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

您可以使用brew将 MongoDB 作为 macOS 服务运行,也可以作为后台进程手动运行 MongoDB。建议将 MongoDB 作为 macOS 服务运行,因为这样做会自动设置正确的系统ulimit值(有关更多信息,请参见ulimit settings)。

  • 要将 MongoDB(即mongod进程)作为 macOS 服务**运行,请发出以下命令:
brew services start mongodb-community@3.6

要停止mongod作为 macOS 服务运行,请根据需要使用以下命令:

brew services stop mongodb-community@3.6
  • 要手动运行 MongoDB(即mongod进程)作为后台进程**,请发出以下命令:
mongod --config /usr/local/etc/mongod.conf --fork

要停止mongod作为后台进程运行,请从 mongo Shell 连接到mongod,然后根据需要发出shutdown命令。

两种方法都使用在安装过程中创建的/usr/local/etc/mongod.conf文件。您也可以将自己的 MongoDB configuration options添加到此文件。

macOS Prevents mongod From Opening

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

  • 打开系统偏好设置

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

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

要验证 MongoDB 是否正在运行,请在正在运行的进程中搜索mongod

ps aux | grep -v grep | grep mongod

您还可以查看日志文件以查看mongod进程的当前状态:/usr/local/var/log/mongodb/mongo.log

连接和使用 MongoDB

要开始使用 MongoDB,请将mongo shell 连接到正在运行的实例。在新终端上,发出以下命令:

mongo

macOS Prevents mongo From Opening

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

  • 打开系统偏好设置

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

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

有关 CRUD(创建,读取,更新,删除)操作的信息,请参阅:

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 配置强化

Troubleshooting ChecksumMismatchError

如果您以前安装了该公式的较旧版本,则可能会遇到类似于以下内容的 ChecksumMismatchError:

Error: An exception occurred within a child process:

  ChecksumMismatchError: SHA256 mismatch

Expected: c7214ee7bda3cf9566e8776a8978706d9827c1b09017e17b66a5a4e0c0731e1f

  Actual: 6aa2e0c348e8abeec7931dced1f85d4bb161ef209c6af317fe530ea11bbac8f0

 Archive: /Users/kay/Library/Caches/Homebrew/downloads/a6696157a9852f392ec6323b4bb697b86312f0c345d390111bd51bb1cbd7e219--mongodb-macos-x86_64-4.2.0.tgz

To retry an incomplete download, remove the file above.

To fix:

  • 删除下载的.tgz存档。

  • 轻按公式。

brew untap mongodb/brew && brew tap mongodb/brew
  • 重试安装。
brew install mongodb-community@3.6