Mac啟動MongoDB報錯:exception in initAndListen: NonExistentPath: Data directory /data/db not found., terminating


這是主要錯誤:

initAndListen中的異常:NonExistentPath:找不到數據目錄/ data / db

最新版的Mac系統Catalina發生了令人驚訝的更改:它不允許更改根目錄(這也在論壇主題中進行了討論):

% sudo mkdir -p /data/db
mkdir: /data/db: Read-only file system

不幸的是,除了在Catalina功能中簡短提及之外,這在Apple的Catalina發行說明中沒有明確說明:

macOS Catalina在專用的只讀系統卷中運行

由於該目錄/data/db被編碼為MongoDB默認目錄,因此一種解決方法是指定一個dbpath不在根目錄上的目錄。例如:

mongod --dbpath ~/data/db

這會將MongoDB的數據放在您的主目錄中。只要確保該路徑~/data/db確實存在。

替代方法

一種替代方法是通過利用macOS上的在macOS上安裝MongoDB社區版中的說明進行操作brew

brew tap mongodb/brew
brew install mongodb-community

默認情況下,這將創建一些其他文件:

  • 配置文件(/usr/local/etc/mongod.conf)
  • 日志目錄路徑(/ usr / local / var / log / mongodb)
  • 數據目錄路徑(/ usr / local / var / mongodb)
    要運行,mongod您可以:
  • 從命令行手動運行命令(為方便起見,可以使用別名):
mongod --config /usr/local/etc/mongod.conf
  • 使用來將MongoDB作為服務運行brew services。請注意,這會將MongoDB作為獨立節點(而不是副本集)運行,因此取決於oplog的功能(例如changestream)將無法工作,除非您修改mongod配置文件:
brew services start mongodb-community

參考博客:https://stackoverflow.com/questions/58283257/mongodb-cant-find-data-directory-after-upgrading-to-mac-os-10-15-catalina


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM