Mac 下 mongoDB 的配置

2017-12-03  本文已影响0人  全栈开发之道

运行 MongoDB,常常出现莫名其妙的错误,这里以Mac OS 为例,列举下常见的报错信息,及其应对策略


问题: MongoDB在没有参数的情况下默认会使用/data/db目录,并监听27017端口。
如果该目录不存在或者不可写,服务器也会启动失败。

解决方法: 创建 /data/db 文件夹 (注意,这是一个文件夹),同时设置访问权限

$ sudo mkdir -p /data/db/
$ sudo chown -R <USERNAME> /data/db


在Mac 终端窗口,输入: $ sudo mongod 出现以下错误提示:

Unable to create/open lock file: /data/mongod.lock errno:13 Permission denied

这是访问权限问题。 需要打开 /data/db的访问权限:

$ sudo mkdir -p /data/db/
$ sudo chown -R <USERNAME> /data/db

chown 意思是 change owner,改变权限。

注意,这里的<USERNAME> 要改换为你的用户名。 查看你的用户名的方法:

$ whom

如果用户名是 susan, 就这么写:

$ sudo chown -R susan /data/db


exception in initAndListen: 98 Unable to lock file: /data/db/mongod.lock Resource temporarily unavailable. Is a mongod instance already running?, terminating

表明已经有一个MongoDB程序在后台运行。找到 mongod 的 pid ,然后,kill 掉即可。
查找已在运行的mongod 的PID 的方法:

ps wuax

mongod pid

这里的 1959 就是 mongod 的 pid。再来执行:

sudo kill 1959

这时候,再来启动mongoDB 数据库,就可以正常启动了。

sudo mongod

数据库正常启动后,终端窗口的最后一行应显示这样的提示信息。此时不再接受其他指令的输入, 除非 Ctrl + C , 停止服务。

waiting for connections on port 27017


参考书: 《 全栈开发之道:MongoDB+Express+AngularJS+Node.js

上一篇下一篇

猜你喜欢

热点阅读