Bagaimana cara mengubah lokasi yang digunakan MongoDB untuk menyimpan datanya?

13

Saya mengedit file konfigurasi MongoDB untuk menyimpan datanya /home/user/data/mongod.

Tetapi data masih ditulis ke direktori lama, konon karena izin ke folder baru tidak diberikan - bagaimana saya bisa memberi MongoDB izin yang diperlukan untuk direktori itu?

Deemel
sumber
1
Bagaimana Anda mengedit konfigurasi Anda? Mengapa Anda mengira itu masalah dengan izin? Menurut Anda mengapa Mongo menggunakan direktori default alih-alih melemparkan kesalahan? (Ini cara bertanya: apakah Anda sudah memeriksa file log kesalahan?)
Andrea Corbellini

Jawaban:

29

Untuk mengubah lokasi yang digunakan oleh MongoDB untuk menyimpan datanya, Anda perlu:

  1. Edit /etc/mongodb.confdan ubah garis dbpath=/var/lib/mongodbke jalur yang Anda inginkan, misalnyadbpath=/home/user/data/mongodb
  2. Perbarui izin jalur yang Anda pilih untuk memungkinkan mongodbpengguna menulisnya, misalnyachown $USER -R /home/user/data/mongodb
  3. Mulai ulang layanan MongoDB dengan menjalankan sudo service mongodb restart

Perhatikan bahwa jika Anda memiliki data di lokasi lama yang ingin Anda simpan, Anda harus menghentikan layanan MongoDB terlebih dahulu, memindahkan file secara manual dan kemudian memulai layanan lagi.

Untuk menghentikan penggunaan server MongoDB sudo service mongodb stop

David Edwards
sumber
file mana yang harus saya pindahkan?
chovy
@chovy File dalam direktori penyimpanan.
David Edwards
Saya menghapus semuanya di/var/lib/mongodb
chovy
@chovy Maka Anda mungkin telah menghapus semua data Anda, jika ada, dan tidak memiliki file yang dapat Anda pindahkan.
David Edwards
ya, tidak apa-apa. saya tidak perlu menyimpannya. tidak yakin apakah ada file non-data yang saya butuhkan di sana. rupanya bukan karena tampaknya masih bekerja
chovy
1

Anda harus memulai ulang daemon agar perubahan diterapkan.

sudo service mongodb restart
Cyril ALFARO
sumber
Ti restart deamon saya berikan Anda juga cara. Cara lama: "etc / init.d / mongodb restart", cara baru: "sudo service mongodb restart"
Cyril ALFARO
1
Saya sarankan untuk mengedit jawaban Anda untuk memasukkan informasi itu.
Eliah Kagan
1

Jika Anda memulai mongodb dari baris perintah, Anda dapat menggunakan --dbpathargumen: mkdir mydata && mongod --dbpath mydata Anda dapat mengalami beberapa masalah yang terkait dengan "file exist" atau sesuatu, itu adalah batasan MongoDb yang terkenal, lebih lanjut tentang ini di sini . Cukup ganti disk drive dan uji jika sekarang Anda tidak memiliki masalah itu lagi.

Melardev
sumber
0

mv the / var / lib / mongodb (direktori tempat Anda menyimpan data) ke / path dan chown mondodb: mongodb / path (direktori Anda ingin menyimpan data)

edit /etc/mongod.conf

service mongod restart (jika tidak dapat terhubung, periksa path / jika tidak berisi mongod.lock, jika ada, hapus dan restart lagi)

pengguna485014
sumber
itu mongodb: mongodb kurasa .. !!
Lakshman Pilaka