在 macOS 上安装 MongoDB Community Edition
在此页面上
Overview
使用本教程安装 MongoDB 8.0使用第三方 Homebrew 软件包管理器即可在在 macOS 上安装 Community Edition。
从 MongoDB 4.4.1 开始,通过 Homebrew 安装 MongoDB 还会安装 MongoDB Database Tools。请参阅使用 MongoDB Database Tools,了解更多信息。
MongoDB 版本
本教程将安装 MongoDB 8.0 社区版。要安装不同的 MongoDB Community,使用此页面左上角的版本下拉菜单以选择该版本的文档。
Considerations
平台支持
MongoDB 8.0Community Edition 支持 macOS 11 或更高版本。
有关更多信息,请参阅 平台支持。
生产说明
在生产环境中部署 MongoDB 之前,请参阅自管理部署的生产注意事项文档,其中提供了有关生产环境中 MongoDB 部署的性能注意事项和配置建议。
安装 MongoDB Community Edition
先决条件
确保您的系统满足以下各项先决条件。每个先决步骤只需在系统上执行一次。如果您已使用 Homebrew 在之前的 MongoDB 安装过程中执行了这些先决步骤,则可以跳至安装过程。
安装 Xcode 命令行工具
Homebrew 需要 Apple Xcode 中的 Xcode 命令行工具。
在您的 macOS 终端运行以下命令来安装 Xcode 命令行工具:
xcode-select --install
安装 Homebrew
macOS 默认不包含 Homebrew brew
软件包。
使用官方 Homebrew 安装说明安装
brew
。
安装 MongoDB 8.0 MongoDB Community Edition
按照以下步骤使用 brew
软件包管理器安装 MongoDB Community Edition。在继续之前,请确保您已符合上述安装前提条件。
点击 MongoDB Homebrew Tap 以下载 MongoDB 和 Database Tools 的官方 Homebrew 公式,这需要在 macOS 终端中运行以下命令:
brew tap mongodb/brew 如果您在先前安装 MongoDB 时已经执行此操作,则可以跳过此步骤。
To update Homebrew and all existing formulae:
brew update 要安装 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
请按照以下步骤运行 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:
对于在 Apple Silicon 处理器上运行的 macOS:
要手动将
mongod
作为后台进程运行并在命令行中指定--dbpath
和--logpath
,请运行:mongod --dbpath /path/to/dbdir --logpath /path/to/mongodb.log --fork 要停止作为后台进程运行的
mongod
,请使用 mongosh 连接到mongod
,并根据需要发出shutdown
命令。
这两种方法都会使用安装时创建的 mongod.conf
文件。您也可以在此文件中添加自己的 MongoDB 配置选项。
注意
macOS 阻止 mongod 打开
要验证 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
要开始使用 MongoDB,请将 mongosh
连接到运行中的实例。从新终端发出以下命令:
mongosh
有关 CRUD(创建、读取、更新、删除)操作的信息,请参阅:
使用 MongoDB Database Tools
从 MongoDB 4.4.1 开始,通过 brew
安装 MongoDB 还会安装 MongoDB Database Tools。
MongoDB Database Tools 是一系列与 MongoDB 部署结合使用的命令行实用程序,包括数据备份和导入/导出工具(如 mongoimport
和 mongodump
)以及监控工具(如 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
无法初始化副本集,除非将此值设为有效的网络接口。
该值可通过以下任一方式配置:
警告
将实例绑定到可公开访问的 IP 地址之前,必须保护集群免遭未经授权的访问。有关安全建议的完整列表,请参阅自管理部署的安全清单。至少应考虑启用身份验证和强化网络基础设施。
有关配置bindIp
的详细信息,请参阅自托管部署中的IP绑定。
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.
要修复:
Remove the downloaded
.tgz
archive.Retap the formula.
brew untap mongodb/brew && brew tap mongodb/brew 重试安装。
brew install mongodb-community@8.0