美文网首页
Mac 下 mongoDB 的配置

Mac 下 mongoDB 的配置

作者: 全栈开发之道 | 来源:发表于2017-12-03 09:29 被阅读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

    相关文章

      网友评论

          本文标题:Mac 下 mongoDB 的配置

          本文链接:https://www.haomeiwen.com/subject/nbiqbxtx.html