天天看点

mac系统启动mongodb,报错解决方法

       目前在学习nodejs,要用到mongodb,之前在菜鸟教程上,安装过mongodb,后来跟新了mac系统到10.15.5,发现mongodb就是无法启动了,会报两种错,一是“mongod Address already in use”,另一种是找不到“dbpath  /data/db”。

      在网上找了很多资料,由于很多文档都是这个抄那个,那个抄这个,最后也没实际解决问题,浪费了不少的时间,所以我就注册了一个简书账号,把自己遇到的问题,和最终的解决方法列出来,由于本人也是小白一枚,所以知道新手在学习中可能因为很简单的设置,不清楚,会走很大的弯路,所以在这里我尽量做到让新手能了解一些基本的东西。

一、安装      

先来说一下,mongodb的安装,可以用终端直接下载安装  

sudo curl -O https://fastdl.mongodb.org/osx/mongodb-osx-ssl-x86_64-4.0.9.tgz

# 解压    sudo tar -zxvf mongodb-osx-ssl-x86_64-4.0.9.tgz   (详情请参照菜鸟教程)

也可以利用homebrew 安装,另外可以到官网下载 安装包tgz,解压后就可以使用。

二、修改环境变量 

为了方便使用,打开终端,输入“open -e .bash_profile”,在打开的文件中加入 

export PATH=${PATH}:/usr/local/MongoDB/bin   

其中MogoDB是mongodb文件夹的名字,可随意设置

用Command+S保存配置,.bash_profile编辑窗口,然后在终端中输入"source .bash_profile"使配置生效。输入"mongod -version",回车后如果看到版本号则说明MongoDB已经成功安装到了Mac上了。

三、启动mongodb

mongob的启动需要自己建一个data文件夹里,再创建一个db文件夹,

###错误情况1:找不到 data/db

“1、首先我们创建一个数据库存储目录 /data/db:

sudo mkdir -p /data/db

这是菜鸟教程上的方法,但是由于升级到10.15后的系统是不能再在 电脑硬盘根目录下创建文件夹,所以通过这种方法创建的文件夹是只读权限,你运行mongod的时候就会报错,找不到/data/db 。

其实这两个文件夹不一定要放到根目录的,放在其他地方也一样,比如放在 /usr/local/ 下,那么在终端的启动命令就是: mongod --dbpath  /usr/local/data   ,这时候是已经启动了程序,终端最后会显示

2020-06-28T23:04:26.570+0800 I  SHARDING [LogicalSessionCacheReap] Marking collection config.transactions as collection version:

这个时候只需要再开一个终端,输入 mongo ,就可以成功连接到mongodb的终端控制台,那个挂起mongodb的终端是不能被关闭的。

To enable free monitoring, run the following command: db.enableFreeMonitoring()

To permanently disable this reminder, run the following command: db.disableFreeMonitoring()

---

> show db

看到这个 “>” ,就是已经连接上了。

###错误情况2:   mongod Address already in use

这是说明mongodb的进程已经启动了,这时候,可以通过系统的 “活动监视器”来搜索 mogo,就能找到该进程,然后强制退出该进程,重新在终端,输入mongo,就能启动mongodb数据库了