Mac 下 mongoDB 的配置

運(yùn)行 MongoDB,常常出現(xiàn)莫名其妙的錯(cuò)誤,這里以Mac OS 為例,列舉下常見的報(bào)錯(cuò)信息,及其應(yīng)對策略


問題: MongoDB在沒有參數(shù)的情況下默認(rèn)會使用/data/db目錄,并監(jiān)聽27017端口。
如果該目錄不存在或者不可寫,服務(wù)器也會啟動失敗。

解決方法: 創(chuàng)建 /data/db 文件夾 (注意,這是一個(gè)文件夾),同時(shí)設(shè)置訪問權(quán)限

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


在Mac 終端窗口,輸入: $ sudo mongod 出現(xiàn)以下錯(cuò)誤提示:

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

這是訪問權(quán)限問題。 需要打開 /data/db的訪問權(quán)限:

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

chown 意思是 change owner,改變權(quán)限。

注意,這里的<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

表明已經(jīng)有一個(gè)MongoDB程序在后臺運(yùn)行。找到 mongod 的 pid ,然后,kill 掉即可。
查找已在運(yùn)行的mongod 的PID 的方法:

ps wuax

mongod pid

這里的 1959 就是 mongod 的 pid。再來執(zhí)行:

sudo kill 1959

這時(shí)候,再來啟動mongoDB 數(shù)據(jù)庫,就可以正常啟動了。

sudo mongod

數(shù)據(jù)庫正常啟動后,終端窗口的最后一行應(yīng)顯示這樣的提示信息。此時(shí)不再接受其他指令的輸入, 除非 Ctrl + C , 停止服務(wù)。

waiting for connections on port 27017


參考書: 《 全棧開發(fā)之道:MongoDB+Express+AngularJS+Node.js

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容