मैं अपने डेटाबेस का MongoDB डंप कैसे बनाऊं?


जवाबों:


82

उपयोग करें mongodump:

$ ./mongodump --host prod.example.com
connected to: prod.example.com
all dbs
DATABASE: log    to   dump/log
        log.errors to dump/log/errors.bson
                713 objects
        log.analytics to dump/log/analytics.bson
                234810 objects
DATABASE: blog    to    dump/blog
        blog.posts to dump/log/blog.posts.bson
                59 objects
DATABASE: admin    to    dump/admin

स्रोत: http://www.mongodb.org/display/DOCS/Import+Export+Tools


4
परिणामों को एक संपीड़ित फ़ाइल में डालने के लिए, unix.stackexchange.com/questions/93139/…
डोनल

Mongodb सर्वर पर डेटाबेस को किस स्थान पर संग्रहीत किया जाएगा?
अंतरिक्ष पृथ्वी

157

बैकअप के लिए अपने डेटाबेस को डंप करने के लिए आप अपने टर्मिनल पर इस कमांड को कहते हैं

mongodump --db database_name --collection collection_name

अपनी बैकअप फ़ाइल को मोंगोडब में आयात करने के लिए आप अपने टर्मिनल पर निम्न कमांड का उपयोग कर सकते हैं

mongorestore --db database_name path_to_bson_file

2
पुनर्स्थापित करने के लिए मेटाडेटा.जसन का क्या महत्व है?
नबीन

103

आप gzipएक संग्रह का बैकअप लेने और फ़्लाय पर बैकअप को संपीड़ित करने के लिए भी उपयोग कर सकते हैं:

mongodump --db somedb --collection somecollection --out - | gzip > collectiondump.gz

या फ़ाइल नाम में एक तारीख के साथ:

mongodump --db somedb --collection somecollection --out - | gzip > dump_`date "+%Y-%m-%d"`.gz

अद्यतन:
किसी डेटाबेस का सभी संग्रह दिनांक फ़ोल्डर में बैकअप करें। फ़ाइलें gziped हैं:

mongodump --db somedb --gzip --out /backups/`date +"%Y-%m-%d"`

या एकल संग्रह के लिए:

mongodump --db somedb --gzip --archive > dump_`date "+%Y-%m-%d"`.gz

या जब मोंगोडब docker के अंदर चल रहा हो:

docker exec <CONTAINER> sh -c 'exec mongodump --db somedb --gzip --archive' > dump_`date "+%Y-%m-%d"`.gz

1
कहते हैं: त्रुटि: पता नहीं फ़ाइल के साथ क्या करना है! Gunizpped और कोशिश की `mongorestore --db db_name 'gunzipped फ़ाइल'
amitchhajer

2
टाइपो: "-db" => "--db"
विवियन

7
3.2 mongodumpया उससे अधिक के संस्करण में आप ऐसा करने के लिए --gzipविकल्प का उपयोग कर सकते हैं : mongodump_manpage और mongorestore के
Boop


1
@Pyrejkee, कमेंट के बजाय इन चीजों के लिए नए प्रश्न पूछें। (खिड़कियों पर तारीख बहुत अलग है)
r03

68

यह कमांड दिए गए डेटाबेस के डंप को json और bson फॉर्मेट में कर देगा।

mongodump -d <database name> -o <target directory>

14

एक उपयोगिता है जिसे कहा जाता है: mongodump मोंगो कमांड लाइन पर आप टाइप कर सकते हैं:

>./mongodump

उपरोक्त आपके लोकलहोस्ट पर सभी डेटाबेस का एक डंप बनाएगा। एकल संग्रह उपयोग का डंप बनाने के लिए:

./mongodump --db blog --collection posts

पर एक नज़र: mongodump


11

आपको उस फ़ोल्डर में एक व्यवस्थापक के रूप में कमांड प्रॉम्प्ट खोलने की आवश्यकता है जहां आपका मैंगो स्थापित है (मेरे मामले में: C: \ Program Files \ MongoDB \ Server \ 3.4 \ bin)। यदि आप अपना पूरा डेटाबेस डंप करना चाहते हैं, तो आप इसका उपयोग कर सकते हैं:

mongodump --db database_name

आपके पास केवल कुछ संग्रह (ओं) को डंप करने या सभी लेकिन कुछ संग्रह (ओं) को डंप करने की सकारात्मकताएं हैं।

यदि आप केवल एक संग्रह को डंप करना चाहते हैं (उदाहरण के लिए उपयोगकर्ता):

mongodump  --db database_name --collection users

यदि आप सभी लेकिन उपयोगकर्ताओं के संग्रह को डंप करना चाहते हैं:

mongodump  --db database_name --excludeCollection=users

डंप को एक संग्रह फ़ाइल में आउटपुट करना भी संभव है:

mongodump --archive=test.archive --db database_name

10

बैकअप / समय के साथ Mongodb पुनर्स्थापित करें।

बैकअप:

sudo mongodump --db db_name --out /path_of_your_backup/`date +"%m-%d-%y"`

--db डेटाबसे नाम के लिए तर्क

--out आउटपुट के पथ के लिए तर्क

पुनर्स्थापित करें:

sudo mongorestore --db db_name --drop /path_of_your_backup/01-01-19/db_name/

--drop पुनर्स्थापना से पहले ड्रॉप डेटास के लिए तर्क

समय:

आप समय बैकअप के लिए crontab का उपयोग कर सकते हैं :

sudo crontab -e

यह संपादक के साथ खुलता है (उदाहरण के लिए नैनो)

3 3 * * * mongodump --out /path_of_your_backup/`date +"%m-%d-%y"`

बैकअप हर दिन 03:03 बजे

अपने MongoDB डेटाबेस आकारों के आधार पर आप बहुत अधिक बैकअप के साथ जल्द ही डिस्क स्थान से बाहर निकल सकते हैं। इसलिए पुराने बैकअप को नियमित रूप से साफ करने या उन्हें संपीड़ित करने की भी सिफारिश की जाती है। उदाहरण के लिए, 7 दिनों से पुराने सभी बैकअप को हटाने के लिए आप निम्नलिखित बैश कमांड का उपयोग कर सकते हैं:

3 1 * * * find /path_of_your_backup/ -mtime +7 -exec rm -rf {} \;

7 दिनों से पुराने सभी बैकअप को हटा दें

शुभ लाभ।

रेफरी: https://www.digitalocean.com/community/tutorials/how-to-back-up-restore-and-migrate-a-mongodb-database-on-ubuntu-14-04


8

आप अपने डेटाबेस को डंप कर सकते हैं और bellow कमांड के साथ रिस्टोर कर सकते हैं

mongodb  -d <Your_db_name> -o <path of your folder>

उदाहरण के लिए मेरा डेटाबेस का नाम ट्रैकिंग है मैं डंप फ़ोल्डर में डंप है

mongodb  -d tracking -o dump

डंप को बहाल करना

mongorestore -d <databasename> <dum_path>

mongorestore -d tracking  dump/tracking

8

डेटाबेस को डंप करने के लिए रिमोट सर्वर से कमांड के बाद निम्नलिखित कार्य करें:

<> यदि आपको उनकी आवश्यकता है तो वैकल्पिक परमर्स उनका उपयोग करते हैं

  • होस्ट - होस्ट नाम पोर्ट
  • पोर्ट उपयोगकर्ता नाम सुन रहा है
  • db db का यूजरनेम
  • db नाम ssl
  • सुरक्षित कनेक्शन बाहर
  • एक नाम से बनाए गए फ़ोल्डर में आउटपुट

    mongodump --host --port --username --db --ssl --password --out _date + "% Y-% m-% d"


जो लोग सुझाए गए क्वेरी के ऊपर चलने के बाद यह त्रुटि प्राप्त कर रहे हैं- कमांड लाइन विकल्प को पार्स करने में त्रुटि: अज्ञात विकल्प "एसएसएल"। --Ssl को हटाने के बाद क्वेरी के ऊपर चलाने का प्रयास करें। यह मेरे लिए काम करता है। धन्यवाद।
अनुराग_बीएचएस


2

यदि आपका डेटाबेस लोकल सिस्टम में है। फिर आप निचे कमांड टाइप करे। लिनक्स टर्मिनल के लिए

mongodump -h SERVER_NAME:PORT -d DATABASE_NAME

अगर डेटाबेस यूजर और पासवर्ड हैं तो आप कोड के नीचे।

mongodump -h SERVER_NAME:PORT -d DATABASE_NAME -u DATABASE_USER -p PASSWORD

यह मेरे लिनक्स टर्मिनल में बहुत अच्छा काम करता है।


1

नीचे कमांड mongo db का डंप लेने का काम करेगी।

मोंगोडम्प -d -o

विंडोज पर: यह कोशिश करें जहां c: \ mongodump डंप फ़ाइल लोकेशन है, यह json में मेटाडेटा और bson प्रारूप में बैकअप बनाएगा

C: \ MongoDB \ bin> मोंगोडम्प -d -oc: \ mongodump


1

निर्यात करने को

mongodump -d <database name> <backup-folder>

आयात करने के लिए

mongorestore -d <database name> <backup-folder>

0

या आप Windows पर बैकअप स्क्रिप्ट बना सकते हैं, Winrar को% PATH% में जोड़ना याद रखें

bin\mongodump --db=COL1 -o D:\BACK\COL1
rar.exe a -ep1 -r COL1.rar COL1
rename COL1.rar "COL1_%date:~10,4%_%date:~7,2%_%date:~4,2%_%time:~0,2%_%time:~3,2%.rar"

#rmdir /s /q COL1 -> don;t run this on your mongodb/ dir !!!!!

0

मानगो डंप और स्थानीय लोगों के लिए यूरी के साथ बहाल

mongodump --uri "mongodb: // USERNAME: PASSWORD @ IP_OR_URL: PORT / DB_NAME" - रंग COLLECTION_NAME -o LOCAL_URL

यदि आप --colletion COLLECTION_NAME को निर्दिष्ट नहीं करते हैं, तो यह संपूर्ण DB को डंप कर देगा।


0

विशेष db के लिए मैंगोडब बैकअप लें और बिन श कमांड के उपयोग के 7 दिन पुराना बैकअप हटा दें: -

#!/bin/bash

MONGO_DATABASE="nexgtv_16"
APP_NAME="test"
MONGO_HOST="127.0.0.1"
MONGO_PORT="27017"
TIMESTAMP=`date +%F-%H%M`
MONGODUMP_PATH="/usr/bin/mongodump"
BACKUPS_DIR="/home/mongodbbackups/backups/$APP_NAME"
BACKUP_NAME="$APP_NAME-$TIMESTAMP"
$MONGODUMP_PATH -d $MONGO_DATABASE
mkdir -p $BACKUPS_DIR
mv dump $BACKUP_NAME
tar -zcvf $BACKUPS_DIR/$BACKUP_NAME.tgz $BACKUP_NAME
rm -rf $BACKUP_NAME
find /home/mongodbbackups/backups/test/ -mindepth 1 -mtime +7 -delete

0
 Use -v to see progress of backup data
    mongodump -v --db dbname --out /pathforbackup/NewFolderforBackupData

 you can use it for restore also
    mongorestore -v --db dbname --drop /pathforbackup/NewFolderforBackupData/dbname

with multile v like -vvvv you will get more information

0

खिड़कियों के लिए "पथ" का उपयोग करें । इसके बजाय यह त्रुटि देता है: स्थितिगत तर्क अनुमति नहीं है


-4

mongodump -h hostname -u dbusername -p dbpassword --db dbname --port portnumber --out / path / folder

mongodump -h hostname -u dbusername -p dbpassword --db dbname --port portnumber --out /path/folder.gz


1. मोंगोडंप - एक कमांड है जो मोंगू डंप बनाने के साथ-साथ हमें स्पेसिफिकेशन के बारे में इनपुट चाहिए। 2. -म आपके मोंगोडब होस्टनाम का प्रतिनिधित्व करता है। 3. -u आपके मोंगोडब यूजरनेम का प्रतिनिधित्व करता है। 4. -p पासस्वर्ड का प्रतिनिधित्व करता है। 5. -db डेटाबेससेन था का प्रतिनिधित्व करता है जिसे हमें डंप लेने की आवश्यकता है। 6. -पोर्ट आपके मोंगो चल रहे पोर्ट का प्रतिनिधित्व करता है। 7. - अपने नाम के साथ अपने डंप के गंतव्य का प्रतिनिधित्व करता है।
अंजनकुमार HN
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.