详细记录 macOS 安装 MongoDB 的方式以及踩坑

1,479 阅读3分钟

下载

image.png 从官网下载安装包 下载后双击解压出文件夹

image.png image.png

安装

  1. 将解压后的文件放入 /usr/local (打开Finder后按 shift + command +G 输入 /usr/local 后回车就能看到这个隐藏的目录)。 image.png image.png 文件名修改为 mongodb
    注意:无法打开“mongod”,因为Apple无法检查其是否包含恶意软件
    在“系统偏好设置”中打开“安全与隐私”选项卡,然后点击“允许”按钮来允许 mongod 的运行

image.png 2. 配置环境变量
注意这里非常需要重要你需要弄清楚你使用的终端shell是zsh 还是bash,mac自带默认的是bash,如果你是bash。在终端输入 cd ~返回到根目录。然后这里有两种情况

  1. 一个是你没有.bash_profile,你需要在终端依次输入touch .bash_profile这是创建配置环境文件,紧接着输入open .bash_profile, 这里需要注意的是如果你的路径放在了其它地方,那么{PATH}:后面就需要填写你实际的地址,不过我们一般建议放在根目录下.并且一定要进入到mongodb的bin目录下的路径 例如:export PATH=${PATH}:/usr/local/mongodb/bin image.png control+s 保存。再然后在终端输入source .bash_profile这个意思是每次你打开终端它就会默认进入到mongodb/bin目录下,其实当你打开终端的时候,它已经无形之中进入了电脑很多文件的bin目录下等待你的输入,cd/open/ls等等这些都是已经准备好了的。如果你不source,就无事发生。
2. 如果你将bash替换成了zhs那么在终端中输入`vi ~/.zshrc `然后,shif + i 编辑模式, 到文件的最后一行输入以下代码:  

export PATH=/usr/local/mongodb/bin:$PATH image.png

esc 健退出编辑状态, 按键组合 shift + :+ wq 保存且退出;

命令行输入 mongod --version显示版本 说明启动环境配置好了 image.png

配置data存放位置和日志log的存放位置

在monogodb 文件夹内创建 数据存放位置和日志存放位置 image.png 对data, log 文件进行读写权限设置
sudo chown huangxiaohao /usr/local/mongodb/log
sudo chown huangxiaohao /usr/local/mongodb/data

启动

方式一

  1. 在mongod 文件夹下 启动mongo mongod --fork --dbpath data --logpath log/mongo.log --logappend

说明: image.png image.png 浏览器打开 http://localhost:27017/ image.png

  1. 新建终端 输入mongo 就可以使用数据库了 image.png

关闭服务

use admin
db.shutdownServer({force:true}); 注意 关闭终端时检查是否还是处理有箭头状态, 如果是 先control + c, 在关闭终端; 浏览器访问 http://localhost:27017/ image.png image.png

缺点: 这种方式命令复杂 不好记, 可以采用 方式二启动
补充: 当命令行输入 mongo 时 提示 zsh: command not found: mongo image.png 检查bin 目录下 是否 有 mongo 这个文件 image.png

解决: 下载5.0.27 的版本, 截止编写此文,最新版本是7.0.12(current),它的bin文件就没有mongo 的文件;

方式二

配置文件的方式启动。
新建配置文件 monogodb 文件下新建 etc/mongodb.conf image.png image.png

#for documentation of all options, see:
# http://docs.mongodb.org/manual/reference/configuration-options/
# Where to write logging data
systemLog:
    destination: file
    logAppend: true
    path: /usr/local/mongodb/log/mongodb.log
#Where and how to store data
storage:
    dbPath: /usr/local/mongodb/data/
     journal: journal.enabled 这个配置实际可以删除,在这保留 当启动时就会出现下面提示
        enabled: true
# how the process runs
processManagement:
    fork: true  # fork and run in background
# network interfaces
net:
    port: 27017
    bindIp: 127.0.0.1
security:
    authorization: enabled

输入 mongod -f /usr/local/mongodb/etc/mongodb.conf image.png Unrecognized option: storage.journal.enabled, 原因如下图: image.png 删除了后 可以正常启动 monogodb image.png 浏览器打开 http://localhost:27017/ image.png 另外启动终端 mongo 显示有箭头页 image.png

关闭服务

use admin
db.shutdownServer({force:true}); 报错 image.png image.png 解决
将权限打开, 创建一个用户, 对用户进行授权;

创建用户 db.createUser({user: "root",pwd: "123456",roles:[{role: "root",db: "admin"}]})

登录用户 db.auth('root', '123456')

赋予权限 db.grantRolesToUser("root", [{role: "hostManager", db: "admin"}])

iShot_2024-07-03_00.36.45.png 再来操作关闭服务 use admin
db.shutdownServer({force:true}); 注意 关闭终端时检查是否还是处理有箭头状态, 如果是 先control + c, 在关闭终端; 浏览器打开 http://localhost:27017/
关闭成功 image.png

参考资料:
软件安装|macOS下mongoDB的安装全过程
M1芯片 MacOS系统如何完成MongoDB的相关配置
使用配置文件的方式启动报错 Unrecognized option: storage.journal.enabled