আমি কীভাবে আমার ডাটাবেসের একটি মঙ্গোডিবি ডাম্প তৈরি করব?


163

আমি কোন আদেশটি ব্যবহার এবং চালাতে পারি?


mongodumpকোনও পতাকা ছাড়াই কেবল একটি একক এবং আপনি ডাম্প ফোল্ডারটি পান
ইভান আরাকি

উত্তর:


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/… দেখুন
ডোনাল লাফার্টি

মংডোব সার্ভারে ডাটাবেসটি কোন জায়গায় সংরক্ষণ করা হবে?
মহাকাশ পৃথিবী

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

1
বলেছেন: ত্রুটি: ফাইল দিয়ে কী করবেন জানেন না! বন্দুকধারী এবং চেষ্টা করেছেন ong মংগেরস্টোর --db db_name 'গানজিপ ফাইল'
অমিতাচর

2
টাইপো: "-db" => "--db"
ভিভিয়ান

7
সংস্করণের ৩.২ mongodumpবা তার চেয়ে বেশি সংস্করণে আপনি এটি করতে --gzipবিকল্পটি ব্যবহার করতে পারেন : মংগডাম্প_পৃষ্ঠা এবং মংগেরস্টোরের
বুপ


1
@ পাইরেজকি, মন্তব্য করার পরিবর্তে এই বিষয়গুলির জন্য আরও নতুন প্রশ্ন জিজ্ঞাসা করুন। (উইন্ডোতে তারিখটি খুব আলাদা)
r03

68

এই কমান্ডটি জেসন এবং বিসন ফর্ম্যাটে প্রদত্ত ডাটাবেসের একটি ফেলা তৈরি করবে।

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

14

মঙ্গোডাম্প নামে একটি ইউটিলিটি রয়েছে: মঙ্গোডাম্প মোঙ্গো কমান্ড লাইনে আপনি টাইপ করতে পারেন:

>./mongodump

উপরেরগুলি আপনার লোকালহোস্টে সমস্ত ডাটাবেসের একটি ডাম্প তৈরি করবে। একটি একক সংগ্রহের ডাম্প তৈরি করতে:

./mongodump --db blog --collection posts

একবার দেখুন: মঙ্গোডাম্প


11

আপনার মোঙ্গো ইনস্টল করা ফোল্ডারে প্রশাসক হিসাবে আপনাকে কমান্ড প্রম্পটটি খুলতে হবে (আমার ক্ষেত্রে: সি: \ প্রোগ্রাম ফাইলগুলি \ মঙ্গোডিবি \ সার্ভার \ 3.4 \ বিন)। আপনি যদি পুরো ডেটাবেস ডাম্প করতে চান তবে আপনি কেবল ব্যবহার করতে পারেন:

mongodump --db database_name

আপনার কাছে কেবলমাত্র নির্দিষ্ট সংগ্রহ (গুলি) ডাম্প করার বা নির্দিষ্ট সংগ্রহ (গুলি) বাদে সমস্ত ডাম্প করার সম্ভাবনা রয়েছে।

আপনি যদি কেবলমাত্র একটি সংগ্রহ ডাম্প করতে চান (উদাহরণস্বরূপ ব্যবহারকারীগণ):

mongodump  --db database_name --collection users

আপনি যদি ব্যবহারকারীদের সংগ্রহ ব্যতীত সমস্ত ডাম্প করতে চান তবে:

mongodump  --db database_name --excludeCollection=users

সংরক্ষণাগার ফাইলে ডাম্প আউটপুট করাও সম্ভব:

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

10

ব্যাকআপ / সময় সহ মোংডব পুনরুদ্ধার করুন।

ব্যাকআপ:

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 পুনরুদ্ধার করার আগে ড্রপ ডাটাবেসের পক্ষে যুক্তি

টাইমিং:

সময় ব্যাকআপের জন্য আপনি ক্রন্টব ব্যবহার করতে পারেন :

sudo crontab -e

এটি সম্পাদক (যেমন ন্যানো) দিয়ে খোলে

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

প্রতিদিন 03:03 AM এ ব্যাকআপ দিন

আপনার মোংগোডিবি ডাটাবেস আকারের উপর নির্ভর করে আপনি খুব শীঘ্রই অনেকগুলি ব্যাকআপ নিয়ে ডিস্কের স্থান শেষ করতে পারেন। এ কারণেই এটি নিয়মিত পুরানো ব্যাকআপগুলি পরিষ্কার করার জন্য বা সেগুলি সংকোচন করার জন্যও সুপারিশ করা হয়। উদাহরণস্বরূপ, days দিনের চেয়ে পুরানো সমস্ত ব্যাকআপগুলি মুছতে আপনি নিম্নলিখিত বাশ কমান্ডটি ব্যবহার করতে পারেন:

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

7 দিনের চেয়ে পুরানো সমস্ত ব্যাকআপগুলি মুছুন

শুভকামনা

রেফ: https://www.digitalocean.com/commune/tutorials/how-to-back-up-restore-and-migrate-a-mongodb-database-on-ubuntu-14-04


8

আপনি আপনার ডাটাবেস ডাম্প এবং বেলো কমান্ড দিয়ে পুনরুদ্ধার করতে পারেন

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

নিম্নলিখিত কমান্ডটি একটি ডেটাবেস ডাম্প করতে রিমোট সার্ভারের সাথে সংযুক্ত:

<> আপনার প্রয়োজন হলে alচ্ছিক প্যারামগুলি সেগুলি ব্যবহার করে

  • হোস্ট - হোস্ট নাম পোর্ট
  • পোর্ট ব্যবহারকারী নাম শুনছি
  • ডিবি ডিবি ব্যবহারকারীর নাম
  • ডিবি নাম এসএসএল
  • নিরাপদ সংযোগ আউট
  • একটি নাম সহ একটি তৈরি ফোল্ডারে আউটপুট

    মংডাম্প - হোস্ট --পোর্ট - ব্যবহারকারীর নাম - ডিবি - এসএসএল - পাসওয়ার্ড - আউট _ তারিখ + "% ওয়াই -% মি-% ডি"


উপরে প্রস্তাবিত ক্যোয়ারী চালানোর পরে যারা এই ত্রুটিটি পাচ্ছেন- কমান্ড লাইন বিকল্পগুলি পার্সিংয়ের সময় ত্রুটি: অজানা বিকল্প "এসএসএল"। --Ssl অপসারণের পরে উপরে ক্যোয়ারী চালানোর চেষ্টা করুন। এটা আমার জন্য কাজ করে। ধন্যবাদ।
অনুরাগ_বিএইচএস


2

যদি স্থানীয় সিস্টেমে আপনার ডাটাবেস। তারপরে আপনি নীচের কমান্ডটি টাইপ করুন। লিনাক্স টার্মিনাল জন্য

mongodump -h SERVER_NAME:PORT -d DATABASE_NAME

যদি ডাটাবেস ব্যবহারকারী এবং পাসওয়ার্ড থাকে তবে আপনি নীচের কোডটি।

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

এটি আমার লিনাক্স টার্মিনালে খুব ভাল কাজ করেছে।


1

নীচে কমান্ডটি মঙ্গো ডিবি ডাম্প নেওয়ার জন্য কাজ করবে।

মংডাম্প-ডি -ও

উইন্ডোজে: এটি চেষ্টা করুন যেখানে সি: ong মংডাম্পটি ডাম্প ফাইলের অবস্থান, এটি জসনে মেটাডেটা এবং বিসন ফর্ম্যাটে ব্যাকআপ তৈরি করবে

সি: \ মঙ্গোডিবি \ বিন> মংডাম্প-ডি-ওসি: \ মংডোম্প


1

রপ্তানি করতে

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

আমদানি করতে

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

0

অথবা আপনি উইন্ডোজটিতে ব্যাকআপ স্ক্রিপ্ট তৈরি করতে পারেন, विनারকে% 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

মঙ্গো ডাম্প এবং স্থানীয় সাথে ইউরি সঙ্গে পুনরুদ্ধার

মংডাম্প্পুরি - মুরগডব: // ব্যবহারকারী নাম: পাসওয়ার্ড @ আইপি_অর_উইরিয়াল: পোর্ট / ডিবিবি "" -লোকশন COLLECTION_NAME -তে LOCAL_URL

আপনি যদি --colletion COLLECTION_NAME নির্দিষ্ট না করেন তবে এটি পুরো ডিবি ফেলে দেবে।


0

নির্দিষ্ট ডিবির জন্য মঙ্গডব ব্যাকআপ নিন এবং বিন sh কমান্ডটি ব্যবহার করে 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

মংডাম্প -h হোস্টনাম -u ডুবসারনাম -পি ডিবিপাশওয়ার্ড - ডিবি ডিবিনেম - পোর্ট্নাম্বার - আউট / পাথ / ফোল্ডার

মংডাম্প -h হোস্টনাম -ইউ ডুবসারনাম -p ডিবিপাশওয়ার্ড --db dbname - বন্দর বন্দরের নম্বর --out /path/folder.gz


1. মঙ্গোডাম্প - একটি মঙ্গো ডাম্প তৈরির জন্য একটি কমান্ড যা বরাবর আমাদের স্পেসিফিকেশন সম্পর্কে ইনপুট প্রয়োজন। 2. -এটি আপনার মঙ্গোদব হোস্টনামের প্রতিনিধিত্ব করে। 3. -u আপনার mongodb ব্যবহারকারীর নাম উপস্থাপন করে। ৪-পি পাস্কওয়ার্ড উপস্থাপন করে। 5. --db আমাদের ডাম্প নিতে প্রয়োজন ডাটাবেস নামটি উপস্থাপন করে। --. - বন্দরটি আপনার মঙ্গো চলমান বন্দরটি উপস্থাপন করে। --. --আউট আপনার ডাম্পের গন্তব্যের প্রতিনিধিত্ব করে।
অঞ্জনকুমার এইচএন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.