mac用户安装mongoDB启动错误解决方案

安装方法网上很多例子,这边简单放个链接:Mac OSX 平台安装 MongoDB

有许多小伙伴在启动MongoDB的时候,遇到了和我以前遇到一样的问题,于是拿出一篇文章来记录一下自己的处理过程

问题描述

macOS Catalina版本会存在安全模式,在安装mongoDB后,启动数据库sudo mongod的时候会存在权限等问题,会直接结束

image.png

有两种解决方案:

  • 禁用SIP系统完整性保护
  • 指定MongoDB数据库路径(个人后面使用这种方法)

1. 禁用SIP系统完整性保护

1. 禁用 SIP

禁用 SIP (系统完整性保护)重启机器,按住 command + R ,进入恢复模式,在 macOS实用工具中,打开终端,执行

-bash-3.2# csrutil disable  
Successfully disabled System Integrity Protection.  
Pelase restart the machine for the changes to take effect.  
​  // 系统完整性保护 已禁用
-bash-3.2#
2. 重启电脑后,打开 终端 执行
$ csrutil  status  
System Integrity Protection status: disabled.  
// 检查 系统完整性保护状态 已禁用  
​  
$ sudo mount -uw /  
Password:  
// 挂载写权限成功  
​  
$ sudo mkdir /data/db  
// 创建目录 成功  
​  
$ sudo chown -R xxx /data/db/  
// 赋予本机用户权限
3. 创建数据库存储目录成功后,启动 MongoDB
$ sudo mongod  
​  
# 如果没有创建全局路径 PATH,需要进入以下目录  
$ cd /usr/local/mongodb/bin  
$ sudo ./mongod  
​  
2020-02-02T12:45:16.864+0800 I  CONTROL  \[main\] Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'  
2020-02-02T12:45:16.888+0800 I  CONTROL  \[initandlisten\] MongoDB starting : pid=1611 port=27017 dbpath=/data/db 64-bit host=MacBook-Pro.local  
2020-02-02T12:45:16.888+0800 I  CONTROL  \[initandlisten\] db version v4.2.3  
2020-02-02T12:45:16.888+0800 I  CONTROL  \[initandlisten\] git version: 6874650b362138df74be53d366bbefc321ea32d4  
2020-02-02T12:45:16.888+0800 I  CONTROL  \[initandlisten\] allocator: system  
2020-02-02T12:45:16.888+0800 I  CONTROL  \[initandlisten\] modules: none  
2020-02-02T12:45:16.888+0800 I  CONTROL  \[initandlisten\] build environment:  
2020-02-02T12:45:16.888+0800 I  CONTROL  \[initandlisten\]     distarch: x86\_64  
2020-02-02T12:45:16.888+0800 I  CONTROL  \[initandlisten\]     target\_arch: x86\_64  
2020-02-02T12:45:16.888+0800 I  CONTROL  \[initandlisten\] options: {}
4. mongoDB 启动成功。
5.建议

Sip是避免软件任意修改或覆盖任意系统文件或应用,日常还是建议保持开启状态的。

数据库目录创建完成后,我们再次进入到 macOS实用工具 中,运行终端,执行 csrutil enable 命令,开启 SIP ,重启电脑即可。

2. 指定MongoDB数据库路径(笔者使用)

1、创建文件夹~/data

我们用~/data文件夹作为数据库目录,代替/data/db文件夹

mkdir ~/data 

2、查看刚刚创建的目录

//进入到~/data目录
cd ~/data

//查看目录路径,下面会用到
pwd
/Users/chenjing/data

3、指定MongoDB数据库路径

//这里的路径需要换成你自己电脑上面的路径
sudo mongod --dbpath=/Users/chenjing/data

4、启动

mongo

这样就可以了,第一种方案需要先将我们电脑的安全模式关闭,再创建/data/db文件夹,然后再打开电脑的安全模式,这种方式太麻烦啦。

直接在我们的用户目录(也就是∼/)下面创建文件夹~/data作为默认数据库目录就可以∼

推荐阅读更多精彩内容