यदि आपने mongodump
. का उपयोग करके डेटाबेस का बैकअप लिया है उपयोगिता, आप इसे mongorestore
. का उपयोग करके पुनर्स्थापित कर सकते हैं उपयोगिता।
mongorestore
उपयोगिता mongodump
. द्वारा बनाए गए बाइनरी डेटाबेस डंप से डेटा लोड करती है या एक mongod
. में मानक इनपुट या mongos
उदाहरण।
MongoDB डेटाबेस टूल के लिए जाँच करें
mongorestore
उपयोगिता MongoDB डेटाबेस टूल्स पैकेज का हिस्सा है। MongoDB डेटाबेस टूल्स MongoDB के साथ काम करने के लिए कमांड-लाइन उपयोगिताओं का एक सूट है।
यदि आप सुनिश्चित नहीं हैं कि आपके पास MongoDB डेटाबेस टूल्स/mongorestore
है या नहीं स्थापित। जाँच करने के लिए अपने टर्मिनल या कमांड प्रॉम्प्ट में निम्न कमांड चलाकर देखें:
mongorestore --version
यदि आपके पास यह नहीं है, तो आप इसे अपने सिस्टम पर स्थापित करने के लिए MongoDB वेबसाइट पर इंस्टॉलेशन निर्देशों का उपयोग कर सकते हैं।
कहां कमांड चलाएं?
आपको mongorestore
चलाने की जरूरत है आपके सिस्टम की कमांड लाइन से कमांड (जैसे एक नया टर्मिनल या कमांड प्रॉम्प्ट विंडो)।
उन्हें mongo
. से न चलाएं सीप।
एक निर्देशिका से सभी डेटाबेस पुनर्स्थापित करें
निम्न आदेश उन सभी डेटाबेस को पुनर्स्थापित करता है जिनका dump/
. पर बैकअप लिया गया है निर्देशिका:
mongorestore dump/
यह उदाहरण डेटाबेस को डिफ़ॉल्ट पोर्ट 27017 पर चल रहे स्थानीय इंस्टेंस में पुनर्स्थापित करता है। हम इसे जानते हैं, क्योंकि हमने कोई होस्ट, पोर्ट, प्रमाणीकरण जानकारी आदि प्रदान नहीं की है।
एक विशिष्ट डेटाबेस पुनर्स्थापित करें
आप --nsInclude
. का उपयोग कर सकते हैं पुनर्स्थापित करने के लिए डेटाबेस निर्दिष्ट करने के लिए पैरामीटर।
उदाहरण:
mongorestore --nsInclude="PetHotel.*" dump/
इस मामले में, हमने PetHotel
. को पुनर्स्थापित किया डेटाबेस। हमने सभी संग्रह बहाल कर दिए, क्योंकि हमने तारांकन वाइल्डकार्ड (*
.) का उपयोग किया था ) सभी संग्रह निर्दिष्ट करने के लिए।
एक विशिष्ट संग्रह पुनर्स्थापित करें
आप --nsInclude
. का भी उपयोग कर सकते हैं एक संग्रह को पुनर्स्थापित करने के लिए निर्दिष्ट करने के लिए पैरामीटर।
उदाहरण:
mongorestore --nsInclude="PetHotel.pets" dump/
यह उदाहरण PetHotel
. से पालतू जानवरों के संग्रह को पुनर्स्थापित करता है डेटाबेस। यदि डेटाबेस मौजूद नहीं है, तो इसे एक संग्रह के साथ बनाया जाता है (pets
)।
यह उदाहरण पिछले उदाहरण के लगभग समान है, सिवाय इसके कि तारांकन वाइल्डकार्ड का उपयोग करने के बजाय (*
) सभी संग्रहों को निर्दिष्ट करने के लिए, हमने उस संग्रह को स्पष्ट रूप से निर्दिष्ट किया है जिसे हम पुनर्स्थापित करना चाहते हैं।
संग्रह का नाम बदलें
आप --nsFrom
. का उपयोग कर सकते हैं और --nsTo
संग्रह के लिए एक नया नाम निर्दिष्ट करने के लिए पैरामीटर।
उदाहरण:
mongorestore --nsFrom='PetHotel.pets' --nsTo='PetHotel.pets2' dump/
यह pets
. का नाम बदल देता है pets2
. के लिए संग्रह ।
ध्यान दें कि उपरोक्त कोड dump/
. में अन्य सभी डेटाबेस और संग्रह को भी पुनर्स्थापित करता है निर्देशिका। फर्क सिर्फ इतना है कि pets
संग्रह को pets2
. के रूप में पुनर्स्थापित किया गया है ।
यदि आप केवल एक संग्रह को पुनर्स्थापित करना चाहते हैं (और प्रक्रिया में उसका नाम बदलना चाहते हैं), तो --nsInclude
का उपयोग करें पैरामीटर।
उदाहरण:
mongorestore --nsFrom='PetHotel.pets' --nsTo='PetHotel.pets2' --nsInclude="PetHotel.pets" dump/
डेटाबेस का नाम बदलें
डेटाबेस का नाम बदलने के लिए आप उसी अवधारणा का उपयोग कर सकते हैं। बस --nsFrom
. का उपयोग करें और --nsTo
डेटाबेस के लिए एक नया नाम निर्दिष्ट करने के लिए पैरामीटर।
उदाहरण:
mongorestore --nsFrom='PetHotel.pets' --nsTo='PetHouse.pets' --nsInclude="PetHouse.*" dump/
इस मामले में मैंने PetHotel
. का नाम बदल दिया डेटाबेस से PetHouse
।
ध्यान दें कि --nsInclude
पैरामीटर नया . निर्दिष्ट करता है डेटाबेस का नाम। साथ ही, मैं तारांकन वाइल्डकार्ड का उपयोग करता हूं (*
) उस डेटाबेस में सभी संग्रहों को पुनर्स्थापित करने के लिए।
संग्रह को छोड़कर
आप --nsExclude
. का उपयोग कर सकते हैं बहिष्कृत . के लिए संग्रह निर्दिष्ट करने के लिए पैरामीटर पुनर्स्थापना प्रक्रिया से।
उदाहरण:
mongorestore --nsInclude="PetHotel.*" --excludeCollection="dogs" dump/
वह उदाहरण PetHotel
. में सभी संग्रहों को पुनर्स्थापित करता है dogs
. को छोड़कर डेटाबेस संग्रह।
आप --nsExclude
. का उपयोग कर सकते हैं एकाधिक संग्रह को पुनर्स्थापना प्रक्रिया से बाहर करने के लिए कई बार।
उदाहरण:
mongorestore --nsInclude="PetHotel.*" --excludeCollection="dogs" --excludeCollection="employees" dump/
पहुंच नियंत्रण/प्रमाणीकरण
पिछले उदाहरण डिफ़ॉल्ट पोर्ट का उपयोग करके स्थानीय मशीन पर किए गए थे। इसका मतलब था कि हम mongodump
run चलाने में सक्षम थे --host
. जैसी चीज़ों को निर्दिष्ट किए बिना , --port
, --username
, आदि.
यहां एक उदाहरण दिया गया है जो homer
. के रूप में प्रमाणित करने के लिए उन पैरामीटर का उपयोग करता है :
mongorestore --host=myhost.example.com --port=37017 --username=homer --authenticationDatabase=admin /backups/mongodump-2020-12-30
हम --password
. का भी प्रयोग कर सकते थे पैरामीटर, लेकिन हमने नहीं किया। यदि आप --user
. पास करते हैं लेकिन नहीं --password
, आपको पासवर्ड के लिए संकेत दिया जाएगा।
संपीड़ित फ़ाइलों से पुनर्स्थापित करें
आप --gzip
. का उपयोग कर सकते हैं mongodump --gzip
. द्वारा बनाई गई संपीड़ित फ़ाइलों या डेटा स्ट्रीम से पुनर्स्थापित करने के लिए पैरामीटर ।
उदाहरण:
mongorestore --gzip --nsInclude="krankykranes.*" dump3/
शांत मोड
आप --quiet
का उपयोग कर सकते हैं आपके टर्मिनल या कमांड प्रॉम्प्ट विंडो में आउटपुट को सीमित करने के लिए पैरामीटर।
mongorestore --quiet
इसका उपयोग किए बिना, आप शायद पुनर्स्थापित किए गए दृश्यों, संग्रहों आदि की एक बड़ी सूची देखेंगे।
वर्बोज़ मोड
दूसरी ओर, आप --verbose
. का उपयोग कर सकते हैं या -v
बढ़ाने . के लिए पैरामीटर आपके टर्मिनल या कमांड प्रॉम्प्ट विंडो में आउटपुट।
mongorestore --verbose
आप -v
. दोहरा कर शब्दाडंबर बढ़ा सकते हैं कई बार फॉर्म।
उदाहरण:
mongorestore -vvvv
मोंगोडंप के बारे में अधिक जानकारी
mongorestore
उपयोगिता कई अन्य उपयोगी मापदंडों को स्वीकार करती है, और बैकअप और पुनर्प्राप्ति रणनीति के हिस्से के रूप में इसका उपयोग करते समय विचार करने के लिए विभिन्न कारक भी हैं।
देखें mongorestore
अधिक जानकारी के लिए MongoDB वेबसाइट पर प्रलेखन।
अन्य विकल्प
mongodump
और mongorestore
छोटे MongoDB परिनियोजन का बैकअप लेने और पुनर्स्थापित करने के लिए सरल और कुशल उपकरण हैं, लेकिन बड़े सिस्टम के बैकअप को कैप्चर करने के लिए आदर्श नहीं हैं।
अपने MongoDB डेटाबेस का बैकअप लेने और पुनर्स्थापित करने के अन्य तरीकों के लिए MongoDB वेबसाइट पर MongoDB बैकअप विधियाँ देखें।