Di mana folder database mongo pada sistem file

19

Saya menggunakan Ubuntu 16.04. Saya sudah menyiapkan basis data MongoDB. Ketika saya memulainya (dengan mongodperintah) dikatakan bahwa basis data terletak di /data/db( dbpath=/data/db).

Basis data berfungsi dengan baik. Tetapi dalam file explorer saya tidak dapat menemukan folder itu. Saya telah melihat Computerfolder dan folder Home( Computer/home/<my name>).

Saya juga menunjukkan file dan folder tersembunyi dengan Ctrl + H.

Bagaimana saya bisa menemukan folder basis data saya?

croraf
sumber

Jawaban:

24

Anda harus dapat menemukan lokasi di file konfigurasi: /etc/mongod.conf

grep dbPath /etc/mongod.conf

Menurut mongodb docs :

Path default adalah /data/dbdirektori

Secara default, MongoDB mendengarkan koneksi dari klien pada port 27017, dan menyimpan data dalam direktori / data / db.

Jika dbPathdiatur, mongodb akan menggunakan direktori yang ditentukan olehdbPath

Jika Anda ingin mongodmenyimpan file data di jalur selain /data/db yang dapat Anda tentukan a dbPath. The dbPathharus ada sebelum Anda mulai mongod. Jika tidak ada, buat direktori dan izin sehingga mongoddapat membaca dan menulis data ke jalur ini. Untuk informasi lebih lanjut tentang izin, lihat dokumentasi operasi keamanan.

Yaron
sumber
1
Saya menemukan /etc/mongod.conf (perhatikan tidak ada huruf 'b'). Di sana tertulis: storage: dbPath: / var / lib / mongodb. Dan folder itu sepertinya adalah basis data. Variabelnya adalah dbPath (huruf besar 'P'). Tapi lalu kenapa sih ketika saya mulai mongod katanya dbpath = / data / db?
croraf
@croraf - /data/dbadalah nilai default path, jika dbPathdiset, itu menimpa nilai ini. Perhatikan bahwa untuk digunakan /data/dbsebagai jalur aktual, folder harus ada dan memiliki kepemilikan / izin yang benar. lihat jawaban yang diperbarui dengan tautan ke mongodb docs
Yaron
Terima kasih! Masalahnya adalah output perintah mongod "MongoDB mulai: pid = 2722 port = 27017 dbpath = / data / db host 64-bit = korisnik-Lenovo-Y520-15IKBN" yang menunjukkan bahwa dbpath adalah / data / db. Walaupun ini bisa menjadi path default, perintah awal db harus mengindikasikan path sebenarnya, dalam kasus saya / var / lib / mongodb.
croraf
2
@croraf /etc/mongod.confkonfigurasi hanya digunakan jika Anda Mulai MongoDB sebagai layanan atau eksplisit lulus ini pada baris perintah: mongod --config /etc/mongod.conf. Jika Anda memulai mongodtanpa opsi apa pun, default /data/dbakan digunakan. Jika Anda memulai mongodsebagai layanan di Ubuntu, dbPathakan seperti yang ditentukan dalam /etc/mongod.conf( /var/lib/mongodbsecara default). Biasanya Anda ingin mengelola MongoDB sebagai layanan untuk memastikan konfigurasi yang konsisten digunakan di antara permintaan.
Stennie
@Sennie Ya sepertinya mongod dimulai pada boot OS (apa yang Anda sebut 'sebagai layanan'). Ini membingungkan saya. Saya akan memeriksa hari ini tetapi mungkin menjalankan mongod memberikan kesalahan bahwa port sudah terikat.
croraf
1

Untuk pertanyaan di atas, meskipun mereka sudah memberikan beberapa jawaban, izinkan saya untuk membawa klarifikasi ini juga:

Saat menggunakan linux (Ubuntu), ketika Anda menginstal mongodb, secara otomatis dikonfigurasi dan dijalankan secara default. Dbpath default terletak di mongodb.conf. Ketika Anda melihat ke dalam file, Anda akan melihat baris berikut:

   # Where to store the data
     bdpath=/var/lib/mongodb

Sekarang, berdasarkan pada mongodb doc :

Path default adalah [harus] /data/dbdirektori, tetapi jika folder tidak ada, mongodb akan memecat dari path yang diberikan dalam file mongodb.conf.

Apa yang harus dilakukan:

  1. hentikan mongodb kamu
  2. buat folder data default Anda
  3. restart mongodb: kali ini akan dimulai dari data Anda dibuat.
pengguna1848069
sumber
0

Itu karena "root" yang Anda lihat, bukan root asli, itu root dari rumah Anda, di File explorer, ketika Anda berada di halaman 'root' Anda, tekan backspaceuntuk pergi ke folder induk.

Carlos Villalta
sumber
-1

Coba ketikkan file:///data/db/browser (chrome atau fire-fox). Anda akan dapat melihat file dan koleksi jika Anda telah mongodbmenginstal dalam sistem, tetapi semua akan dienkripsi Anda tidak dapat membacanya di editor.

Deepu Rohilla
sumber