MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

MongoDB non riesce a trovare la directory dei dati dopo l'aggiornamento a Mac OS 10.15 (Catalina)

Questo è l'errore principale:

eccezione in initAndListen:NonExistentPath:directory dati /data/db non trovata., terminante

Catalina ha un cambiamento a sorpresa:non consentirà modifiche alla directory principale (questo è stato discusso anche in un thread del forum):

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

Sfortunatamente, questo non è spiegato in modo esplicito nelle note sulla versione di Catalina di Apple, a parte una breve menzione nelle funzionalità di Catalina:

macOS Catalina viene eseguito in un volume di sistema di sola lettura dedicato

Poiché la directory /data/db è codificato come MongoDB predefinito, una soluzione alternativa consiste nello specificare un diverso dbpath che non si trova nella directory principale. Ad esempio:

mongod --dbpath ~/data/db

Questo posizionerà i dati di MongoDB nella tua home directory. Assicurati solo che il percorso ~/data/db esiste davvero.

Metodo alternativo

Un metodo alternativo consiste nel seguire le istruzioni in Install MongoDB Community Edition su macOS sfruttando brew :

brew tap mongodb/brew
brew install mongodb-community

Questo creerà alcuni file aggiuntivi per impostazione predefinita:

  • il file di configurazione (/usr/local/etc/mongod.conf)
  • il percorso della directory di log (/usr/local/var/log/mongodb)
  • il percorso della directory dei dati (/usr/local/var/mongodb)

Per eseguire mongod puoi:

  • Esegui il comando manualmente dalla riga di comando (questo può essere alias per comodità):

    mongod --config /usr/local/etc/mongod.conf
    
  • Esegui MongoDB come servizio utilizzando brew services . Nota che questo eseguirà MongoDB come nodo autonomo (non un set di repliche), quindi funzionalità che dipendono dall'oplog, ad es. changestreams non funzionerà a meno che non modifichi mongod file di configurazione:

    brew services start mongodb-community