[英]Mongo won't start. Getting cryptic Assertion: 28595:13: Permission denied error
[英]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
堆:
我們必須讓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.