使用.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进程,并从上方提供两个参数dbpath
和logpath
,并提供fork
参数在后台运行mongod。或者,您可以选择将dbpath
,logpath
,fork
以及许多其他参数的值存储在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,除非将此值设置为有效的网络接口。
可以配置此值:
Warning
绑定到非 localhost(例如可公开访问)的 IP 地址之前,请确保已保护群集免受未经授权的访问。有关安全建议的完整列表,请参见Security Checklist。至少考虑enabling authentication和加强网络基础设施。
有关配置bindIp的更多信息,请参见MongoDB 配置强化。