sql >> Database >  >> NoSQL >> MongoDB

MongoDB kan de gegevensmap niet vinden na het upgraden naar Mac OS 10.15 (Catalina)

Dit is de belangrijkste fout:

uitzondering in initAndListen:NonExistentPath:Data directory /data/db niet gevonden., beëindigen

Catalina heeft een verrassende wijziging:het zal geen wijzigingen in de hoofdmap toestaan ​​(dit werd ook besproken in een forumthread):

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

Helaas wordt dit niet expliciet vermeld in de release-opmerkingen van Apple Catalina, behalve een korte vermelding in Catalina-functies:

macOS Catalina draait op een speciaal, alleen-lezen systeemvolume

Sinds de directory /data/db is gecodeerd als MongoDB-standaard, een oplossing is om een ​​ander dbpath op te geven die zich niet in de hoofdmap bevindt. Bijvoorbeeld:

mongod --dbpath ~/data/db

Hierdoor worden de gegevens van MongoDB in uw thuismap geplaatst. Zorg ervoor dat het pad ~/data/db echt bestaat.

Alternatieve methode

Een alternatieve methode is om de instructies bij Install MongoDB Community Edition op macOS te volgen door gebruik te maken van brew :

brew tap mongodb/brew
brew install mongodb-community

Dit zal standaard enkele extra bestanden aanmaken:

  • het configuratiebestand (/usr/local/etc/mongod.conf)
  • het pad van de logdirectory (/usr/local/var/log/mongodb)
  • het gegevensmappad (/usr/local/var/mongodb)

Om mongod uit te voeren je kunt ofwel:

  • Voer de opdracht handmatig uit vanaf de opdrachtregel (dit kan voor het gemak een alias zijn):

    mongod --config /usr/local/etc/mongod.conf
    
  • Voer MongoDB uit als een service met behulp van brew services . Merk op dat dit MongoDB zal draaien als een standalone node (geen replicaset), dus functies die afhankelijk zijn van de oplog, b.v. changestreams werken niet tenzij je de mongod . aanpast configuratiebestand:

    brew services start mongodb-community
    


  1. Weten wanneer de resque-werker de taak had voltooid

  2. Naadloze schaal voor uw MongoDB-servers

  3. Belangrijkste dingen om te controleren in MongoDB

  4. MongoDB selecteer waar in array van _id?