Docs 菜单
Docs 主页
/
MongoDB Manual
/ / /

在 macOS 上安装 MongoDB Community Edition

在此页面上

  • Overview
  • Considerations
  • 安装 MongoDB Community Edition
  • 运行 MongoDB Community Edition
  • 使用 MongoDB Database Tools
  • 更多信息

使用本教程安装 MongoDB 8.0使用第三方 Homebrew 软件包管理器即可在在 macOS 上安装 Community Edition。

从 MongoDB 4.4.1 开始,通过 Homebrew 安装 MongoDB 还会安装 MongoDB Database Tools。请参阅使用 MongoDB Database Tools,了解更多信息。

本教程将安装 MongoDB 8.0 社区版。要安装不同的 MongoDB Community,使用此页面左上角的版本下拉菜单以选择该版本的文档。

MongoDB 8.0Community Edition 支持 macOS 11 或更高版本。

有关更多信息,请参阅 平台支持。

在生产环境中部署 MongoDB 之前,请参阅自管理部署的生产注意事项文档,其中提供了有关生产环境中 MongoDB 部署的性能注意事项和配置建议。

确保您的系统满足以下各项先决条件。每个先决步骤只需在系统上执行一次。如果您已使用 Homebrew 在之前的 MongoDB 安装过程中执行了这些先决步骤,则可以跳至安装过程

Homebrew 需要 Apple Xcode 中的 Xcode 命令行工具。

  • 在您的 macOS 终端运行以下命令来安装 Xcode 命令行工具:

    xcode-select --install

macOS 默认不包含 Homebrew brew 软件包。

按照以下步骤使用 brew 软件包管理器安装 MongoDB Community Edition。在继续之前,请确保您已符合上述安装前提条件

  1. 点击 MongoDB Homebrew Tap 以下载 MongoDB 和 Database Tools 的官方 Homebrew 公式,这需要在 macOS 终端中运行以下命令:

    brew tap mongodb/brew

    如果您在先前安装 MongoDB 时已经执行此操作,则可以跳过此步骤。

  2. To update Homebrew and all existing formulae:

    brew update
  3. 要安装 MongoDB,请在您的 macOS 终端应用程序中运行以下命令:

    brew install mongodb-community@8.0

提示

如果需要,您可以指定安装 MongoDB 的先前版本。您还可以通过这种方式并行维护多个版本的 MongoDB。

提示

如果之前安装了旧版公式,则可能会遇到 ChecksumMismatchError。要解决这个问题,请参阅对 ChecksumMismatchError 进行故障排除

安装内容包括以下二进制文件:

此外,根据您的 Apple 硬件,安装过程中会在下面指定的位置创建对应文件和目录:

Intel 处理器
Apple Silicon Processor
/usr/local/etc/mongod.conf
/opt/homebrew/etc/mongod.conf
/usr/local/var/log/mongodb
/opt/homebrew/var/log/mongodb
/usr/local/var/mongodb
/opt/homebrew/var/mongodb

有关使用 Apple Silicon 处理器的 Apple 硬件的最新列表,请参阅 Apple 文档。您还可以运行以下命令来检查 brew 已安装这些文件和目录:

brew --prefix

从 MongoDB 4.4.1 开始,安装内容还包括 MongoDB Database Tools。请参阅使用 MongoDB Database Tools,了解更多信息。

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

You can run MongoDB as a macOS service using brew, or you can run MongoDB manually as a background process. It is recommended to run MongoDB as a macOS service, as doing so sets the correct system ulimit values automatically (see ulimit settings for more information).

  • 要运行 MongoDB(即 mongod 进程)作为 macOS 服务,运行:

    brew services start mongodb-community@8.0

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

    brew services stop mongodb-community@8.0
  • 要使用配置文件将mongod作为背景进程手动运行:

    • 如果您的部署不使用TLS 连接,请使用--fork选项:

      • 对于在 Intel 处理器上运行的 macOS,请运行:

        mongod --config /usr/local/etc/mongod.conf --fork
      • 对于在 Apple Silicon 处理器 上运行的 macOS ,运行:

        mongod --config /opt/homebrew/etc/mongod.conf --fork
      • 如果您的部署使用 TLS 连接 ,请使用 GNU Screen

        • 对于在 Intel 处理器上运行的 macOS:

          1
          screen -S <name-of-screen>
          2
          mongod --config /usr/local/etc/mongod.conf
          3

          键入Ctrl+a ,然后单击d ,与屏幕分离。

          4
          screen -ls
        • 对于在 Apple Silicon 处理器上运行的 macOS:

          1
          screen -S <name-of-screen>
          2
          mongod --config /opt/homebrew/etc/mongod.conf
          3

          键入Ctrl+a ,然后单击d ,与屏幕分离。

          4
          screen -ls
  • 要手动将 mongod 作为后台进程运行并在命令行中指定 --dbpath--logpath,请运行:

    mongod --dbpath /path/to/dbdir --logpath /path/to/mongodb.log --fork

    要停止作为后台进程运行的 mongod,请使用 mongosh 连接到 mongod,并根据需要发出 shutdown 命令。

这两种方法都会使用安装时创建的 mongod.conf 文件。您也可以在此文件中添加自己的 MongoDB 配置选项

注意

macOS 阻止 mongod 打开

macOS 可能会阻止 mongod 在安装后运行。如果在启动 mongod 时出现安全错误,表明无法识别或验证开发者的身份,请执行以下操作以授予 mongod 的运行权限:

  • 打开系统偏好设置

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

  • 通用标签页下,单击有关 mongod 消息右侧的按钮,该按钮标记为 Open AnywayAllow Anyway,具体取决于您的 macOS 版本。

要验证 MongoDB 是否正在运行,请执行以下操作之一:

  • 如果将 MongoDB 作为 macOS 服务启动:

    brew services list

    应该会看到服务 mongodb-community 列为 started

  • 如果将 MongoDB 作为后台进程手动启动:

    ps aux | grep -v grep | grep mongod

    应该在输出中看到 mongod 进程。

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

要开始使用 MongoDB,请将 mongosh 连接到运行中的实例。从新终端发出以下命令:

mongosh

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

从 MongoDB 4.4.1 开始,通过 brew 安装 MongoDB 还会安装 MongoDB Database Tools。

MongoDB Database Tools 是一系列与 MongoDB 部署结合使用的命令行实用程序,包括数据备份和导入/导出工具(如 mongoimportmongodump)以及监控工具(如 mongotop)。

在上述步骤中安装 MongoDB Server 后,可以直接在 macOS 终端应用程序中的命令行中使用 Database Tools。例如,要对当前正在运行的 MongoDB 实例运行 mongotop,您可以在 macOS 终端调用它,如下所示:

mongotop

它应会启动,连接到正在运行的 mongod,然后开始报告使用情况统计信息。

有关每个 Database Tools 的使用信息,请参阅 MongoDB Database Tools 文档

默认情况下,MongoDB 会以将 bindIp 设为 127.0.0.1 来启动,从而绑定到本地主机网络接口。这意味着 mongod 只能接受来自同一计算机上运行的客户端的连接。远程客户端无法连接到 mongod,且 mongod 无法初始化副本集,除非将此值设为有效的网络接口。

该值可通过以下任一方式配置:

  • 在 MongoDB 配置文件中使用 bindIp,或

  • 通过命令行参数 --bind_ip

警告

将实例绑定到可公开访问的 IP 地址之前,必须保护集群免遭未经授权的访问。有关安全建议的完整列表,请参阅自管理部署的安全清单。至少应考虑启用身份验证强化网络基础设施。

有关配置bindIp的详细信息,请参阅自托管部署中的IP绑定。

如果安装过旧版公式,则可能会遇到类似以下内容的 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.

要修复:

  1. Remove the downloaded .tgz archive.

  2. Retap the formula.

    brew untap mongodb/brew && brew tap mongodb/brew
  3. 重试安装。

    brew install mongodb-community@8.0

后退

使用 .tgz Tarball 进行安装