MacOS安装MongoDB 7.x(tar包安装)

一、前言

个人原因设备上没有brew,所以官方极力推荐的brew安装方式用不了,只能通过tar包的形式安装。

Mac上第一次安装MongoDB,先是在网上找了几个教程,按指引操作之后发现遇到很多困惑,最后查阅了官网文档并按操作一次搞定。为了给自己留点印象,同时给有一样困惑的同学提供一些启发,故写下这篇文以供查阅。
根据安装的环境和方式的差异,实际操作的过程可能大相径庭。

我的安装环境:

Mac: MacBook Air (M1 2020)

Chip: Apple Silicon M1 (ARM64)

System: MacOS Ventura 13.3.1

安装MongoDB:

MongoDB: v7.0.1

MongoDB Shell: 1.10.6

二、概述

需要安装哪些包?

要保证正常的MongoDB数据库需要安装MongoDBMongoDB Shell,其中:

  • MongoDB提供数据库服务,操作命令主要对应mongod
  • MongoDB Shell提供连接和操作数据库的能力,操作命令为mongosh

三、开始安装

MongoDB

MongoDB tar安装文档

1. 下载tgz包:

注意:根据芯片选择正确的Platform,Apple芯片选择macOS ARM 64,Intel芯片选macOS X64

2. 解压

定位到下载目录,使用以下命令解压tgz包

bash 复制代码
cd ~/Downloads # 这一步根据自己实际的下载目录来
tar -zxvf mongodb-macos-arm64-7.0.1.tgz

3. 安装bin

将解压后的目录里的bin内所有文件拷贝到/usr/local/bin目录下,具体操作命令如下:

bash 复制代码
sudo cp ./mongodb-macos-aarch64-7.0.1/bin/* /usr/local/bin

4. 创建数据库和日志存放的目录

创建用于存放数据库文件和日志的目录,并且给操作用户设置目录读写权限

下面以用户名tonyerx为例,如果不确认用户名可以在chown之后按tab键提示

bash 复制代码
# 创建目录
sudo mkdir -p ~/data/db
sudo mkdir -p ~/data/log/mongodb
# 设置权限
sudo chown tonyerx ~/data/db
sudo chown tonyerx ~/data/log/mongodb

5. 运行MongoDB

安装工作完成,可以尝试运行命令启动MongoDB了

bash 复制代码
mongod --dbpath ~/data/db --logpath ~/data/log/mongodb/mongo.log --fork
# 这一步的意思为后台启动MongoDB,指定数据库存放路径和日志存放文件处
# 注意是日志存放文件不是目录!

注意:这时可能会遇到MacOS的文件安全限制提示,需要在系统偏好设置-隐私与安全面板中允许打开文件

6. 确认是否成功运行

看到以下提示代表启动成功: 你可以运行以下命令查看MongoDB是否有在后台运行:

bash 复制代码
ps aux | grep -v grep | grep mongod

MongoDB Shell

MongoDB Shell tar安装文档

1. 下载zip包

www.mongodb.com/try/downloa...

注意:根据芯片选择正确的Platform,Apple芯片选择MacOS M1,Intel芯片选MacOS 64-bit

2. 解压

在Finder中找到下载好的zip包双击即可解压,解压后文件如下:

3. 安装bin

终端定位到解压目录,将解压后目录bin里的mongosh的拷贝到/usr/local/bin目录下,mongosh_crypt_v1.dylib拷贝到/usr/local/lib目录下,具体操作命令如下:

bash 复制代码
cd ~/Downloads/ # 这一步根据自己的实际解压目录来
sudo cp ./mongosh-1.10.6-darwin-arm64/bin/mongosh /usr/local/bin
sudo cp ./mongosh-1.10.6-darwin-arm64/bin/mongosh_crypt_v1.dylib /usr/local/lib

4. 运行MongoDB Shell

运行命令:

bash 复制代码
mongosh

出现以下提示代表运行成功:

四、收尾

1. 接下来怎么使用MongoDB?

本文专注在记录安装过程,常用的MongoDB命令在网上有很多教程,受限于篇幅这里不赘述MongoDB的具体使用

2. 如何终止MongoDB的运行?

如果你已经启动了MongoDB Shell,可以在mongosh处输入以下命令来终止:

bash 复制代码
db.shutdownServer()

如果你只启动了MongoDB,可以通过查看运行进程来停止它:

bash 复制代码
pgrep mongo
# 这里得到PID,以23084为例
kill 23084
# 再执行以下命令可以发现进程已停止
ps aux | grep -v grep | grep mongod

注意:网上很多教程提到可以用mongod --shutdown来停止运行,实际上该方式仅在Linux适用,在MacOS上并没有--shutdown这个命令参数。官方文档有提及:

3. 是否能自定义安装路径

理论上可以,区别在于需要在.bash_profile.zshrc等启动文件中写入环境变量以确保,如我将mongodb放在用户目录下:

bash 复制代码
export PATH="$PATH:/Users/tonyerx/mongodb/bin"

不能保证没有其他的坑,建议按官方推荐的方式操作

4. 关于卸载(谨慎操作)

删除MongoDB bin

bash 复制代码
rm -rf /usr/local/bin/mongod
rm -rf /usr/local/bin/mongos
rm -rf /usr/local/bin/install_compass

删除MongoDB Shell bin

bash 复制代码
rm -rf /usr/local/bin/mongosh
rm -rf /usr/local/lib/mongosh_crypt_v1

删除MongoDB db和log目录

bash 复制代码
rm -rf ~/data/db
rm -rf ~/data/log
相关推荐
这孩子叫逆6 分钟前
Spring Boot项目的创建与使用
java·spring boot·后端
coderWangbuer1 小时前
基于springboot的高校招生系统(含源码+sql+视频导入教程+文档+PPT)
spring boot·后端·sql
攸攸太上1 小时前
JMeter学习
java·后端·学习·jmeter·微服务
Kenny.志1 小时前
2、Spring Boot 3.x 集成 Feign
java·spring boot·后端
sky丶Mamba2 小时前
Spring Boot中获取application.yml中属性的几种方式
java·spring boot·后端
千里码aicood3 小时前
【2025】springboot教学评价管理系统(源码+文档+调试+答疑)
java·spring boot·后端·教学管理系统
程序员-珍3 小时前
使用openapi生成前端请求文件报错 ‘Token “Integer“ does not exist.‘
java·前端·spring boot·后端·restful·个人开发
liuxin334455663 小时前
教育技术革新:SpringBoot在线教育系统开发
数据库·spring boot·后端
数字扫地僧4 小时前
HBase与Hive、Spark的集成应用案例
后端
架构师吕师傅4 小时前
性能优化实战(三):缓存为王-面向缓存的设计
后端·微服务·架构