一、前言
个人原因设备上没有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数据库需要安装MongoDB 和MongoDB Shell,其中:
- MongoDB提供数据库服务,操作命令主要对应
mongod
- MongoDB Shell提供连接和操作数据库的能力,操作命令为
mongosh
三、开始安装
MongoDB
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
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