sql >> Databáze >  >> NoSQL >> MongoDB

MongoDB nemůže najít datový adresář po upgradu na Mac OS 10.15 (Catalina)

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íte mongod konfigurační soubor:

    brew services start mongodb-community
    


  1. Co je třída Hadoop Reducer v MapReduce?

  2. mongodb:Struktura víceklíčového indexování?

  3. Průvodce vývojáře k MongoDB Sharding

  4. MongoDB $replaceOne