安装方法网上很多例子,这边简单放个链接:Mac OSX 平台安装 MongoDB
有许多小伙伴在启动MongoDB的时候,遇到了和我以前遇到一样的问题,于是拿出一篇文章来记录一下自己的处理过程
问题描述
macOS Catalina版本会存在安全模式,在安装mongoDB后,启动数据库sudo mongod
的时候会存在权限等问题,会直接结束
有两种解决方案:
- 禁用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
这样就可以了,第一种方案需要先将我们电脑的安全模式关闭,再创建/data/db文件夹,然后再打开电脑的安全模式,这种方式太麻烦啦。
直接在我们的用户目录(也就是∼/)下面创建文件夹~/data作为默认数据库目录就可以∼
网友评论