运行 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 的方法:
mongod pidps wuax
这里的 1959 就是 mongod 的 pid。再来执行:
sudo kill 1959
这时候,再来启动mongoDB 数据库,就可以正常启动了。
sudo mongod
数据库正常启动后,终端窗口的最后一行应显示这样的提示信息。此时不再接受其他指令的输入, 除非 Ctrl + C , 停止服务。
waiting for connections on port 27017
网友评论