Toto je hlavní chyba:
výjimka v initAndListen:NonExistentPath:Datový adresář /data/db nenalezen., ukončení
Catalina má překvapivou změnu:nedovolí změny v kořenovém adresáři (toto bylo také diskutováno ve vláknu fóra):
% sudo mkdir -p /data/db
mkdir: /data/db: Read-only file system
Bohužel to není výslovně uvedeno v poznámkách k vydání Catalina společnosti Apple, kromě krátké zmínky ve funkcích Catalina:
macOS Catalina běží ve vyhrazeném systémovém svazku pouze pro čtení
Od adresáře /data/db
je kódován jako výchozí MongoDB, řešením je zadat jinou dbpath
který není umístěn v kořenovém adresáři. Například:
mongod --dbpath ~/data/db
Tím umístíte data MongoDB do vašeho domovského adresáře. Jen se ujistěte, že cesta ~/data/db
skutečně existuje.
Alternativní metoda
Alternativní metodou je postupovat podle pokynů v části Instalace MongoDB Community Edition na macOS pomocí brew
:
brew tap mongodb/brew
brew install mongodb-community
Tím se ve výchozím nastavení vytvoří některé další soubory:
- konfigurační soubor (/usr/local/etc/mongod.conf)
- cesta k adresáři protokolu (/usr/local/var/log/mongodb)
- cesta k datovému adresáři (/usr/local/var/mongodb)
Chcete-li spustit mongod
můžete buď:
-
Spusťte příkaz ručně z příkazového řádku (pro pohodlí lze použít alias):
mongod --config /usr/local/etc/mongod.conf
-
Spusťte MongoDB jako službu pomocí
brew services
. Všimněte si, že toto spustí MongoDB jako samostatný uzel (nikoli sadu replik), takže funkce, které závisí na oplogu, např. toky změn nebudou fungovat, pokud nezměnítemongod
konfigurační soubor:brew services start mongodb-community