MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Pulihkan Basis Data MongoDB menggunakan mongorestore

Jika Anda telah mencadangkan database menggunakan mongodump utilitas, Anda dapat memulihkannya menggunakan mongorestore utilitas.

mongorestore utilitas memuat data dari dump basis data biner yang dibuat oleh mongodump atau input standar ke dalam mongod atau mongos contoh.

Periksa Alat Basis Data MongoDB

mongorestore utilitas adalah bagian dari paket Alat Database MongoDB. Alat Database MongoDB adalah rangkaian utilitas baris perintah untuk bekerja dengan MongoDB.

Jika Anda tidak yakin apakah Anda memiliki MongoDB Database Tools/mongorestore diinstal. Coba jalankan perintah berikut di Terminal atau Command Prompt Anda untuk memeriksa:

mongorestore --version

Jika Anda tidak memilikinya, Anda dapat menggunakan petunjuk penginstalan di situs web MongoDB untuk menginstalnya ke sistem Anda.

Di mana Menjalankan Perintah?

Anda perlu menjalankan mongorestore perintah dari baris perintah sistem Anda (mis. Terminal baru atau jendela Prompt Perintah).

Jangan jalankan dari mongo kerang.

Pulihkan Semua Basis Data dari Direktori

Perintah berikut mengembalikan semua database yang telah dicadangkan ke dump/ direktori:

mongorestore dump/

Contoh ini mengembalikan database ke instance lokal yang berjalan pada port default 27017. Kami mengetahui hal ini, karena kami tidak menyediakan host, port, informasi autentikasi, dll.

Memulihkan Basis Data Tertentu

Anda dapat menggunakan --nsInclude parameter untuk menentukan database yang akan dipulihkan.

Contoh:

mongorestore --nsInclude="PetHotel.*" dump/

Dalam hal ini, kami memulihkan PetHotel basis data. Kami memulihkan semua koleksi, karena kami menggunakan wildcard asterisk (* ) untuk menentukan semua koleksi.

Pulihkan Koleksi Tertentu

Anda juga dapat menggunakan --nsInclude parameter untuk menentukan koleksi yang akan dipulihkan.

Contoh:

mongorestore --nsInclude="PetHotel.pets" dump/

Contoh ini mengembalikan koleksi hewan peliharaan dari PetHotel basis data. Jika database tidak ada, itu dibuat dengan satu koleksi (pets ).

Contoh ini hampir identik dengan contoh sebelumnya, kecuali bahwa alih-alih menggunakan wildcard asterisk (* ) untuk menentukan semua koleksi, kami secara eksplisit menentukan koleksi yang ingin kami pulihkan.

Ganti Nama Koleksi

Anda dapat menggunakan --nsFrom dan --nsTo parameter untuk menentukan nama baru untuk koleksi.

Contoh:

mongorestore --nsFrom='PetHotel.pets' --nsTo='PetHotel.pets2' dump/

Ini mengganti nama pets koleksi ke pets2 .

Perhatikan bahwa kode di atas juga memulihkan semua database dan koleksi lain di dump/ direktori. Satu-satunya perbedaan adalah pets koleksi dipulihkan sebagai pets2 .

Jika Anda hanya ingin memulihkan satu koleksi (dan mengganti namanya dalam proses), gunakan --nsInclude parameter.

Contoh:

mongorestore --nsFrom='PetHotel.pets' --nsTo='PetHotel.pets2' --nsInclude="PetHotel.pets" dump/

Ganti Nama Basis Data

Anda dapat menggunakan konsep yang sama untuk mengganti nama database. Cukup gunakan --nsFrom dan --nsTo parameter untuk menentukan nama baru untuk database.

Contoh:

mongorestore --nsFrom='PetHotel.pets' --nsTo='PetHouse.pets' --nsInclude="PetHouse.*" dump/

Dalam hal ini saya mengganti nama PetHotel database ke PetHouse .

Perhatikan bahwa --nsInclude parameter menentukan baru nama basis data. Juga, saya menggunakan wildcard asterisk (* ) untuk memulihkan semua koleksi dalam database tersebut.

Tidak termasuk Koleksi

Anda dapat menggunakan --nsExclude parameter untuk menentukan koleksi untuk dikecualikan dari proses pemulihan.

Contoh:

mongorestore --nsInclude="PetHotel.*" --excludeCollection="dogs" dump/

Contoh tersebut mengembalikan semua koleksi di PetHotel database kecuali untuk dogs koleksi.

Anda dapat menggunakan --nsExclude beberapa kali untuk mengecualikan beberapa koleksi dari proses pemulihan.

Contoh:

mongorestore --nsInclude="PetHotel.*" --excludeCollection="dogs" --excludeCollection="employees" dump/

Kontrol Akses/Otentikasi

Contoh sebelumnya dilakukan pada mesin lokal menggunakan port default. Ini berarti bahwa kami dapat menjalankan mongodump tanpa menentukan hal-hal seperti --host , --port , --username , dll.

Berikut adalah contoh yang menggunakan parameter tersebut untuk mengautentikasi sebagai homer :

mongorestore --host=myhost.example.com --port=37017 --username=homer --authenticationDatabase=admin /backups/mongodump-2020-12-30

Kita juga bisa menggunakan --password parameter, tetapi kami tidak melakukannya. Jika Anda melewati --user tapi bukan --password , Anda akan dimintai sandi.

Pulihkan dari File Terkompresi

Anda dapat menggunakan --gzip parameter untuk memulihkan dari file terkompresi atau aliran data yang dibuat oleh mongodump --gzip .

Contoh:

mongorestore --gzip  --nsInclude="krankykranes.*" dump3/

Mode Diam

Anda dapat menggunakan --quiet parameter untuk membatasi output di jendela Terminal atau Command Prompt Anda.

mongorestore --quiet

Tanpa menggunakan ini, Anda mungkin akan melihat daftar besar tampilan, koleksi, dll yang dipulihkan.

Mode Verbose

Di sisi lain, Anda dapat menggunakan --verbose atau -v parameter untuk meningkatkan output di jendela Terminal atau Command Prompt Anda.

mongorestore --verbose

Anda dapat meningkatkan verbositas dengan mengulangi -v bentuk beberapa kali.

Contoh:

mongorestore -vvvv

Informasi Lebih Lanjut tentang mongodump

mongorestore utilitas menerima banyak parameter berguna lainnya, dan ada juga berbagai faktor yang perlu dipertimbangkan saat menggunakannya sebagai bagian dari strategi pencadangan dan pemulihan.

Lihat mongorestore dokumentasi di situs web MongoDB untuk info lebih lanjut.

Opsi Lain

mongodump dan mongorestore adalah alat yang sederhana dan efisien untuk mencadangkan dan memulihkan penerapan MongoDB kecil, tetapi tidak ideal untuk merekam cadangan sistem yang lebih besar.

Lihat Metode Pencadangan MongoDB di situs web MongoDB untuk metode lain dalam mencadangkan dan memulihkan basis data MongoDB Anda.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cara Menginstal MongoDB

  2. Membandingkan Kinerja MongoDB di Cloud Publik:AWS, Azure &DigitalOcean

  3. C# + MongoDB - ObjectId tanpa menggunakan Tipe Data/Atribut MongoDB

  4. MongoDb:Manfaat menggunakan ObjectID vs string yang berisi Id?

  5. Regex MongoDB, Indeks &Kinerja