Mongo 異常:重啟時連接失敗
我在 VMWare 上的 Ubuntu 16.04 機器上安裝了 Mongo。我使用“mongo”命令啟動它,上週沒有問題。但最近,它給出了這個錯誤:
MongoDB shell 版本:3.2.15 連接到:test 2017-08-09T09:31:33.634+0300 W NETWORK
$$ thread1 $$無法連接到 127.0.0.1:27017,在(輪詢後檢查套接字是否有錯誤),原因:errno:111 連接被拒絕 2017-08-09T09:31:33.712+0300 E QUERY $$ thread1 $$錯誤:無法連接到伺服器 127.0.0.1:27017,連接嘗試失敗:connect@src/mongo/shell/mongo.js:229:14 @(connect):1:6 異常:連接失敗
我知道如何解決它,它在這裡:https ://stackoverflow.com/questions/12831939/couldnt-connect-to-server-127-0-0-127017/34835813#34835813
但是每次我重新啟動 Ubuntu 機器時,問題都會重複。為什麼,以及如何防止每次都發生這種情況?謝謝。
編輯:問題解決了。您可以在我對 JJussi 回答的評論中看到下面的解決方案。
mongod
是實際的 mongodb 守護程序什麼是數據庫。mongo
只是連接到 mongod 程序的客戶端程序(在這種情況下;使用分片集群它連接到 mongos 程序)。因此,
mongod
必須先執行程序mongo
才能連接它。你寫的那
sudo systemctl enable mongod.service
行不行了?檢查該服務是否(以某種方式)更改了名稱。只需發出命令sudo systemctl|grep -i mongo
,您就可以查看它是否存在並且已啟用。如果您的 mongod 程序在重新啟動後仍未自動啟動,請檢查 /var/log/mongodb/mongodb.log (您可以使用sudo grep path /etc/mongod.conf
-command 檢查該鎖定文件名)說。錯誤是什麼?修復該錯誤(可能是目錄和文件的 chown?),然後重試sudo systemctl restart mongod.service
(或者服務名稱是什麼)
As MongoDB BOL Here MongoDB 實例預設將其數據文件儲存在其中
/var/lib/mongodb
,並使用 mongodb 使用者帳戶執行。您可以在.log files``/var/log/mongodb``/etc/mongod.conf
如果更改執行該程序的使用者,則必須修改對和目錄
MongoDB
的訪問控制權限,以授予該使用者對這些目錄的訪問權限。/var/lib/mongodb``/var/log/mongodb
發出以下命令以啟動 mongod:
sudo service mongod start
供您進一步參考配置文件選項