Ho seguito i documenti MongoDb per configurare il mio primo MongoDb,
Quando avvio MongoDB utilizzando il comando
C:\Program Files\MongoDB\Server\3.4\bin\mongod.exe
Risposte:
MongoDB necessita di una cartella per archiviare il database. Crea una C:\data\db\
directory:
mkdir C:\data\db
e quindi avvia MongoDB:
C:\Program Files\MongoDB\Server\3.4\bin\mongod.exe
A volte la C:\data\db
cartella esiste già a causa di un'installazione precedente. Quindi se per questo motivo mongod.exe
non funziona, puoi eliminare tutto il contenuto dalla C:\data\db
cartella ed eseguire mongod.exe
nuovamente.
/mongodb_data/db
Per gli utenti di macOS per risolvere questo problema:
È necessario eseguire i seguenti passaggi:
Crea la directory "db". Qui è dove risiederanno i file di dati Mongo. È possibile creare la directory nella posizione predefinita eseguendo:
sudo mkdir -p /data/db
Assicurati che la /data/db
directory disponga delle autorizzazioni corrette eseguendo:
sudo chown -R `id -un` /data/db
Ora sei pronto e puoi correre sudo mongod
per avviare il server Mongo.
Non funziona se corri solo mongod
Fonte .
mkdir: /data/db: Read-only file system
quando eseguo il primo comando. Come posso risolvere questo problema? Grazie.
Lo stesso problema sul mio Mac (utilizzando Brew) è stato risolto utilizzando:
sudo mongod
Per modificare la cartella db predefinita C:\data\db
in Windows, il comando è:
--dbpath
Per esempio:
\mongod --dbpath C:\myfolder
Utenti Mac
Invece di eseguire MongoDB con:
sudo mongod
Puoi usare mongod
invece se:
sudo chmod -R ugo+rw data
Se è necessario utilizzare sudo
quando si esegue mongodb ( sudo mongod
), significa che non si dispone dell'autorizzazione di lettura e scrittura sulla cartella dei dati di mongodb
Si prega di eseguire i seguenti passaggi:
Come hanno detto altri amici, dovresti prima creare una directory per memorizzare i dati del tuo database. Questa cartella potrebbe essere qualcosa del tipo:
C: \ mongo-data
Dalla riga di comando vai alla posizione in cui hai installato mongodb e dove risiede mongod.exe. Nel mio caso il percorso completo è:
C: \ Programmi \ MongoDB \ Server \ 3.4 \ bin
Da qui esegui mongod.exe e passagli il percorso della cartella che hai creato nel passaggio uno usando il flag --dbpath come segue:
mongod.exe --dbpath "C: \ mongo-data"
Nota : se sei su Windows, è necessario utilizzare le virgolette doppie ("") sopra per funzionare correttamente.
In questo modo otterrai qualcosa di simile al seguente:
2017-06-14T12:45:59.892+0430 I NETWORK [thread1] waiting for connections on port 27017
Se utilizzi virgolette singole ('') su Windows, otterrai:
2017-06-14T01:13:45.965-0700 I CONTROL [initandlisten] shutting down with code:100
Spero che aiuti a risolvere il problema.
Per eseguire Mongo DB demon con il mongod
comando, dovresti avere una directory del database, probabilmente devi eseguire:
mkdir C:\data\db
Inoltre, MongoDB deve avere i permessi di scrittura per quella directory o dovrebbe essere eseguito con i permessi di superutente, come sudo mongod
.
Ho continuato a ricevere il seguente errore quando ho provato ad avviare mongodb (su mac os).
"shutting down with code:100"
Stavo usando il seguente comando:
./mongod --dbpath=~/mongo-data
La soluzione per me era che non avevo bisogno del segno "=" e questo stava causando l'errore. Così ho fatto
./mongod --dbpath ~/mongo-data
Volevo solo buttarlo là fuori perché l'errore non specifica in alcun modo che questo sia il problema. Ho quasi rimosso il contenuto della directory ~ / mongo-data per vedere se questo aiutava. Sono contento di aver ricordato che gli argomenti cli a volte non usano il segno "=".
per prima cosa devi creare la directory dei dati in cui MongoDB memorizza i dati. Il percorso della directory dei dati predefinito di MongoDB è il percorso assoluto \ data \ db sull'unità da cui avvii MongoDB.
se hai installato in C: / drive, devi creare la directory data \ db. per eseguire questo comando di esecuzione in cmd
C:\>mkdir data\db
Per avviare MongoDB, esegui mongod.exe.
"C:\Program Files\MongoDB\Server\4.2\bin\mongod.exe" --dbpath="c:\data\db"
L'opzione --dbpath punta alla directory del database.
Connettiti a MongoDB.
"C:\Program Files\MongoDB\Server\4.2\bin\mongo.exe"
per verificare che tutto funzioni correttamente:
show dbs
1.Se mostra un errore (chiusura con codice 100) significa che non sta trovando la posizione del file desiderata.
1.a Se è precedente a macOS Catalina, crea una directory con sudo mkdir -p / data / db e dai i permessi per usarlo
sudo chown -Rid -un
/ data / db.
1.b se è macOS Catalina in poi, crea sudo mkdir -p / System / Volumes / data / db e dagli i permessi sudo chown -R id -un
/ System / Volumes / data / db.
2.Avviare i servizi mongo db brew run mongodb-community
3.Digitare mongod o mongod --dbpath / System / Volumes / Data / data / db
4.E se il mongod mostra un errore (chiusura con codice 48)
significa che la porta è già in uso, quindi puoi fare due cose
4.a O si cambia la porta di mongod specificando il
numero di porta mongod --dbpath / System / Volumes / Data / data / db —port 27018.
4.b Oppure puoi terminare il processo su quella porta trovando il processo con sudo lsof -i: 27017 e poi uccidere con il comando
kill -9
5.Ripetere i passaggi 2 e 3.
Per gli utenti macOS, prenditi cura del seguente problema:
se installi MongoDB Community su macOS usando .tgz Tarball
(( A partire da macOS 10.15 Catalina, Apple limita l'accesso alla directory dei dati predefinita di MongoDB di / data / db. Su macOS 10.15 Catalina, è necessario utilizzare una directory di dati diversa, come / usr / local / var / mongodb. ))
puoi risolverlo come segue:
(MacOS Catalina in poi)
Apple ha creato un nuovo volume in Catalina per motivi di sicurezza. Se sei su Catalina, devi creare la cartella / data / db in System / Volumes / Data.
Usa questo comando:
sudo mkdir -p /System/Volumes/Data/data/db
Quindi, usa questo comando per dare le autorizzazioni:
sudo chown -R `id -un` /System/Volumes/Data/data/db
questo sostituirà normale
sudo mkdir -p /data/db
Assicurati che la directory / data / db disponga delle autorizzazioni corrette eseguendo:
sudo chown -R `id -un` /data/db
una volta terminato e avviato mongoDB, puoi utilizzare quanto segue nel terminale:
sudo mongod --dbpath /System/Volumes/Data/data/db
In MacOS : -
Se hai dimenticato di fornire il percorso del database creato in precedenza durante l'esecuzione del server mongo, verrà visualizzato l'errore precedente.
sudo ./mongod --dbpath ../../mongo-data/
Nota: - ./mongod && ../../mongo-data è il percorso relativo. Quindi puoi evitarlo configurando nella variabile d'ambiente
se hai già la directory, controlla i permessi della directory o prova a riavviare mongo con sudo. sudo brew services avvia mongodb
Nel mio caso, ho ricevuto un errore simile e stava accadendo perché avevo eseguito mongod con l'utente root e che aveva creato un file di registro accessibile solo da root. Potrei risolvere questo problema cambiando la proprietà da root all'utente da cui normalmente esegui mongod. Il file di registro era in / var / lib / mongodb / journal /
Se stai usando Virtualbox controlla la tua VM.
docker-machine ssh
df -h
Guarda dev / sda1 se non hai spazio libero ciò potrebbe essere dovuto a un gran numero di immagini o contenitori. puoi rimuoverli usando "docker rm" e "docker rmi"
Aravind.
È successo anche a me perché ho fermato MongoDB dal Task Manager.
La creazione della cartella C: \ data \ db e l'avvio di MongoDB in C: \ Program Files \ MongoDB \ Server \ 3.4 \ bin \ mongod.exe ha funzionato per me, come suggerito da cespon, ma MongoDB non mostrava nessuno dei miei database creato in precedenza.
Quindi, rimuovere la cartella C: \ data \ db e riparare l'installazione con il programma di installazione di MongoDB , ho recuperato i miei dati e avviato normalmente MongoDB.
(Sono molto nuovo con MongoDB, ma mi ha aiutato a risolvere questo problema e recuperare i dati delle anteprime di maggio).
digitato mongod e ottenendo l'errore
Errori:
eccezione in initAndListen: NonExistentPath: directory dati / data / db non trovata, terminazione
si spegne con il codice 100
Quindi prova con (crea dati e cartella db con tutte le autorizzazioni)
mongod --dbpath = / data
usa la nuova scheda e digita mongo.
Se stai ancora affrontando problemi, puoi verificare la presenza di mac catalina: ( https://docs.mongodb.com/manual/tutorial/install-mongodb-on-os-x-tarball/ )
per Windows: https://docs.mongodb.com/manual/tutorial/install-mongodb-on-windows-unattended/
C:\data\db\
non è stata trovata. Usa:mkdir C:\data\db