文档菜单
文档首页
/
MongoDB 手册
/ / /

在 macOS 上安装 MongoDB 社区版

本页内容

  • 概述
  • 考虑因素
  • 安装 MongoDB 社区版
  • 运行 MongoDB 社区版
  • 使用 MongoDB 数据库工具
  • 更多信息

使用本教程安装 MongoDB 8.0社区版在 macOS 上使用第三方Homebrew 软件包管理器。

从 MongoDB 4.4.1 版本开始,通过 Homebrew 安装 MongoDB 还会安装 MongoDB 数据库工具。有关更多信息,请参阅 使用 MongoDB 数据库工具

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

MongoDB 8.0 社区版支持 macOS 11 或更高版本。

更多信息,请参阅平台支持.

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

确保您的系统满足以下所有先决条件。您只需要在系统上执行每个先决条件步骤一次。如果您已经将先决条件步骤作为使用 Homebrew 安装 MongoDB 的早期版本的一部分执行,则可以跳转到安装过程。

Homebrew 需要苹果 Xcode 的命令行工具。

  • 在 macOS 终端中运行以下命令安装 Xcode 命令行工具

    xcode-select --install

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

按照以下步骤安装 MongoDB社区版版本,使用 Homebrew 的 brew 包管理器。在继续之前,请确保您已遵循上面的 安装先决条件

  1. 使用以下命令在您的 macOS 终端中下载 MongoDB 和数据库工具的官方 Homebrew 公式包: MongoDB Homebrew Tap

    brew tap mongodb/brew

    如果您已经为之前的 MongoDB 安装执行过此操作,则可以跳过此步骤。

  2. 更新 Homebrew 和所有现有公式

    brew update
  3. 在 macOS 终端应用程序中运行以下命令安装 MongoDB

    brew install mongodb-community@8.0

提示

或者,您还可以指定 MongoDB 的先前版本(如果需要)。您还可以以这种方式在旁边维护 MongoDB 的多个版本。

提示

如果您之前安装了旧版本的公式,可能会遇到ChecksumMismatchError错误。要解决此问题,请参阅ChecksumMismatchError故障排除。

安装包括以下二进制文件

此外,安装会在以下位置创建以下文件和目录,具体取决于您的Apple硬件

Intel处理器
Apple硅处理器
/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硬件当前列表的详细信息,请参阅Apple文档。您还可以运行以下命令来检查brew安装了这些文件和目录的位置

brew --prefix

从MongoDB 4.4.1开始,安装还包括MongoDB数据库工具。有关更多信息,请参阅使用MongoDB数据库工具

按照以下步骤运行MongoDB社区版版本。这些说明假设您正在使用默认设置。

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

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

    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 的消息右侧的按钮,标签为仍要打开任何情况下都允许,具体取决于您的 macOS 版本。

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

  • 如果您以 macOS 服务的方式启动了 MongoDB

    brew services list

    您应该看到服务 mongodb-community 列为 已启动

  • 如果您以手动方式作为后台进程启动了 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 数据库工具。

MongoDB 数据库工具 是一组用于处理 MongoDB 部署的命令行实用程序,包括数据备份和导入/导出工具,如 mongoimportmongodump,以及监控工具如 mongotop

在您按照上述步骤安装了 MongoDB 服务器后,数据库工具将直接在您的 macOS 终端应用程序的命令行中可用。例如,您可以在 macOS 终端中运行 mongotop 以针对您的运行 MongoDB 实例,如下所示

mongotop

它应该启动,连接到您的运行中的 mongod,并开始报告使用统计信息。

请参阅MongoDB 数据库工具文档以获取每个数据库工具的使用信息。

默认情况下,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. 删除下载的 .tgz 归档。

  2. 重新点击公式。

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

    brew install mongodb-community@8.0

返回

使用 .tgz Tarball 安装