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
相关推荐
customer0814 分钟前
【开源免费】基于SpringBoot+Vue.JS医院管理系统(JAVA毕业设计)
java·vue.js·spring boot·后端·spring cloud·开源·intellij-idea
2402_8575893624 分钟前
SpringBoot框架:作业管理技术新解
java·spring boot·后端
一只爱打拳的程序猿42 分钟前
【Spring】更加简单的将对象存入Spring中并使用
java·后端·spring
假装我不帅2 小时前
asp.net framework从webform开始创建mvc项目
后端·asp.net·mvc
神仙别闹2 小时前
基于ASP.NET+SQL Server实现简单小说网站(包括PC版本和移动版本)
后端·asp.net
计算机-秋大田3 小时前
基于Spring Boot的船舶监造系统的设计与实现,LW+源码+讲解
java·论文阅读·spring boot·后端·vue
货拉拉技术3 小时前
货拉拉-实时对账系统(算盘平台)
后端
掘金酱4 小时前
✍【瓜分额外奖金】11月金石计划附加挑战赛-活动命题发布
人工智能·后端
代码之光_19804 小时前
保障性住房管理:SpringBoot技术优势分析
java·spring boot·后端