簡體   English   中英

MongoDB 服務未啟動。 errno:13 權限被拒絕

[英]MongoDB service doesn't start. errno:13 Permission denied

我已經在 Ubuntu 服務器上安裝了 MongoDB,如文檔http://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/ 中所示 然后,我修改了配置文件/etc/mongod.conf以便稍后運行 mongod 服務。

如果我執行,MongoDB 會正確運行:

sudo mongod -f /etc/mongod.conf

但是如果我執行,MongoDB 就會停止:

sudo service mongod start

在配置文件/etc/mongod.conf我只更改了以下內容:

dbpath=/data/db
logpath=/root/logs/mongod.log
port=20000

使用此配置,也不會創建日志文件。

如果我不修改先前指示的值,則服務會正確啟動。 默認值為:

dbpath=/var/lib/mongodb
logpath=/var/log/mongodb/mongod.log
port = 27017

因為日志文件不是使用自定義配置創建的,所以我只更改了dbpath以查看錯誤:

[initandlisten] exception in initAndListen: 10309 Unable to create/open lock file: /data/db/mongod.lock errno:13 Permission denied Is a mongod instance already running?

我嘗試運行以下命令但沒有成功:

sudo chown -R `id -u` /data/db

sudo rm /var/lib/mongodb/mongod.lock
mongod --repair

堆:

  • Ubuntu 14.10
  • MongoDB 2.6.5

我們必須讓mongod 用戶擁有所有目錄/文件。 為了這:

sudo chown -R mongodb:mongodb /data/db

我發現了一個特殊情況,符號鏈接的使用似乎失敗了:

使用 mongodb 的標准企業安裝,除了我將 /var/lib/mongodb 更改為符號鏈接,因為我想為我的數據庫文件夾使用 XFS 文件系統,並為日志文件夾使用第三個文件系統。

$sudo systemctl start mongod(失敗並顯示無權限寫入 mongodb.log 的消息)。但如果我使用相同的配置文件開始,它會成功

.. 作為外部驅動器(ziggy)的所有者,我能夠啟動 $mongod -- config /etc/mongodb.conf --fork

我最終發現 .. 符號鏈接指向不同的文件系統並且 mongodb(用戶)無權瀏覽符號鏈接所引用的文件夾。 符號鏈接和符號鏈接所引用的文件夾都對 mongod 用戶具有廣泛的權利,所以沒有意義?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM