2011-03-31 19 views
61

मैं mongodump का इस्तेमाल किया है MongoDB के अपने डेटाबेस डंप करने के लिए, यह dump/mydbमोंगोडम्प द्वारा डंप किए गए डेटा का उपयोग कैसे करें?

के तहत कुछ bson फ़ाइलें बनाई लेकिन मैं उन्हें कैसे उपयोग करने के लिए पता नहीं है। मैंने mongoimport की कोशिश की, लेकिन ऐसा लगता है कि यह बीसन डेटा आयात नहीं कर सकता है। फिर इन बीएसओ फाइलों का उपयोग कैसे करें? उन्हें किसी अन्य mongodb में कैसे आयात करें?

उत्तर

60

आप mongorestore उपयोग करने के लिए, mongoimport की जरूरत नहीं है ... जो आयात करने जैसी चीजों के लिए प्रयोग किया जाता है json या csv, आदि

back-up-with-mongodump डॉक्स से:

mongodump एक MongoDB डेटाबेस से डेटा पढ़ता है और जो mongorestore उपकरण एक MongoDB डेटाबेस को भरने के लिए उपयोग कर सकते हैं उच्च निष्ठा BSON फ़ाइलें बनाता है।

mongodump और mongorestore का बैकअप लेने और छोटे MongoDB तैनाती बहाल करने के लिए सरल और प्रभावी उपकरण हैं, लेकिन बड़े सिस्टम के कैप्चरिंग बैकअप के लिए आदर्श नहीं हैं।

आप नीचे दिए गए डॉक्स में अधिक के बारे में mongorestore पढ़ सकते हैं; मैं एक नज़र डालता हूं और उन पर पढ़ता हूं क्योंकि वे बहुत उपयोगी हैं।

http://www.mongodb.org/display/DOCS/Import+Export+Tools#ImportExportTools-mongorestore

तुम भी सुझाव के लिए http://learnmongo.com की जाँच और मदद कर सकते हैं!

6

मॉन्गोरस्टोर का उपयोग करें। mongoimport mongoexport के उत्पादन पर काम करता है। mongodump बाइनरी डेटा फ़ाइलों पर & mongorestore काम करते हुए json, csv, आदि पर आयात/निर्यात काम .. (मानव पठनीय प्रारूप)

36

मैं दैनिक बैकअप के लिए mongodump, mongorestore का उपयोग कर रहा हूं और बैकअप से पुनर्स्थापित कर रहा हूं।
पहले, बैकअप, जहाँ आप सिर्फ मेजबान डेटाबेस नाम और बैकअप फ़ोल्डर निर्दिष्ट की जरूरत के लिए:

SET host=localhost:27020 
SET dbNameToDump=MyDB 
SET backupsFolder=Backups 

mongodump.exe --host %host% --db %dbNameToDump% 

SET date="%date:~10,4%-%date:~4,2%-%date:~7,2%.%time:~0,2%-%time:~3,2%" 
cd %backupsFolder% 
md %date% 

xcopy /e ..\dump %date% 

rmdir /s /q ..\dump 

बल्ला फ़ाइल से ऊपर निर्दिष्ट से फेंक दिया संग्रह के साथ फ़ोल्डर बैकअप में इस 2011-03-31.11-17(yyyy-MM-dd.hh-ss) की तरह नाम के साथ फ़ोल्डर बना मैं दो .bat फ़ाइलें डेटाबेस। फाइलों में अन्वेषक यह लग रहा है तो जैसे:

enter image description here

दूसरा बल्ला फ़ाइल मैं निर्दिष्ट retore के लिए उपयोग फेंक दिया फ़ाइलें (यहां आप भी फेंक दिया फाइलों के साथ डेटाबेस नाम और फ़ोल्डर निर्दिष्ट की जरूरत है):

SET host=localhost:27020 
SET dbNameToRestore=MyDB 
SET restoreFolder=Restore 

mongorestore.exe --host %host% --db %dbNameToRestore% %restoreFolder% 

में फ़ाइलें एक्सप्लोरर:

enter image description here

अतिरिक्त में, मैं खिड़कियों अनुसूची का उपयोग कर रहा au को टमाटर बैकअप प्रक्रिया।

ऊपर की जानकारी किसी के लिए उपयोगी होगी।

+0

यह वास्तव में उपयोगी था। मुझे कुछ अतिरिक्त कार्यक्षमता की आवश्यकता थी (नेटवर्क शेयर तक बैक अप)। https://gist.github.com/adamb0mb/7191353 – adamb0mb

+1

डंप के लिए आपको कितना डेटा सुरक्षित लगता है? मोंगो दस्तावेज़ के मुताबिक, 'एक छोटा डेटा सेट' की सिफारिश की जाती है, लेकिन मुझे नहीं पता कि छोटे को कैसे परिभाषित किया जाए? – hakunami

2

इस को हल करने के लिए, मैं MongoDB की बिन निर्देशिका के लिए डंप फ़ोल्डर, dbdump (जो bson फ़ाइलें हैं) की नकल की और कमांड प्रॉम्प्ट में नीचे दिए गए आदेशों को मार डाला: MongoDB के बिन

1. सीडी "पथ फ़ोल्डर "
(उदाहरण: सीडी C: \ \ 3.2 \ बिन Program Files \ MongoDB \ सर्वर)

2. mongorestore.exe --dir ./directory नाम --db डेटाबेस नाम
(उदाहरण: mongorestore --dir ./dbdump --db testdb)

डंप फ़ोल्डर में सभी बीएसओ फ़ाइलें आपके डेटाबेस में आयात की जाएंगी। आप नीचे दिए गए आदेशों को क्रियान्वित करने से इस अभी सत्यापित कर सकते हैं:
सीडी
mongo.exe
शो डीबीएस "MongoDB के बिन फ़ोल्डर के लिए पथ";

3

के रूप में पिछले जवाब में उल्लेख किया है, आप mongorestore बजायmongoimport उपयोग करना होगा। पिछले जवाब को जोड़ना, जब आपके MongoDB चल रहा है, डंप निर्देशिका से अपने डंप बहाल करने के लिए निम्न आदेश निष्पादित,

mongorestore dump 

यह आपके mydb डेटाबेस में सभी संग्रह आयात करेगा। हालांकि यह बहाल करने से पहले डेटाबेस को नहीं छोड़ता है। आप डेटाबेस आयात करने से पहले mydb निर्देशिका में,

mongorestore --drop dump 

bson फ़ाइलें ड्रॉप करना चाहते हैं mydb डेटाबेस के अंदर संग्रह के रूप में बहाल हो जाएगा। Mongorestore पर अधिक जानकारी के लिए प्रलेखन here देखें।

+0

अजीब, मैंने आपके उत्तर को ऊपर उठाने की कोशिश की और यह नहीं बदला। वैसे भी, mongorestore को कमांड लाइन से चलाने की जरूरत है, मोंगो खोल – Donato

+0

में नहीं, ओह हाँ, मैं इसका उल्लेख करना भूल गया। –

संबंधित मुद्दे