mongodbバックアップとリカバリ

7184 ワード

バックアップ


この例は以下の条件に基づいている:1.mongodbサーバは、現在ログインしているマシン2で動作.ディスク容量は十分に大きく、バックアップされたファイルはデータと同じ大きさになる可能性があります.
cd ~
mkdir testmongobackup
cd testmongobackup
mongodump

2016-12-25T18:37:36.378+0800    writing admin.system.users to 
2016-12-25T18:37:36.386+0800    done dumping admin.system.users (1 document)
2016-12-25T18:37:36.387+0800    writing admin.system.version to 
2016-12-25T18:37:36.389+0800    done dumping admin.system.version (2 documents)
2016-12-25T18:37:36.389+0800    writing media.media to 
2016-12-25T18:37:36.390+0800    done dumping media.media (3 documents)

データベースをtestmongobackupフォルダにバックアップ
[mongo@mongo testmongobackup]$ find ./
./
./dump
./dump/media
./dump/media/media.metadata.json
./dump/media/media.bson
./dump/admin
./dump/admin/system.users.metadata.json
./dump/admin/system.version.metadata.json
./dump/admin/system.users.bson
./dump/admin/system.version.bson

リカバリ

cd ~/testmongobackup
mongorestore --drop

2016-12-25T18:57:39.008+0800    using default 'dump' directory
2016-12-25T18:57:39.008+0800    preparing collections to restore from
2016-12-25T18:57:39.019+0800    reading metadata for media.media from dump/media/media.metadata.json
2016-12-25T18:57:39.035+0800    restoring media.media from dump/media/media.bson
2016-12-25T18:57:39.038+0800    no indexes to restore
2016-12-25T18:57:39.038+0800    finished restoring media.media (3 documents)
2016-12-25T18:57:39.038+0800    restoring users from dump/admin/system.users.bson
2016-12-25T18:57:39.056+0800    done

注意:

  • –dropオプションを使用すると、データを復元する前に既存のデータを破棄し、最終バックアップデータが既存のデータを置き換えます.使用しない場合、リカバリされたデータは各セットの末尾に追加され、重複するデータが発生します.
  • mongodumpツールは、バックアップファイルに書き込む前に、出力ディレクトリの内容を空にしません.

  • 単一データベースのバックアップまたはリカバリ

    mongodump -d databasse_name
    mongorestore -d databasse_name --drop

    個々のコレクションのバックアップまたはリカバリ

    mongodump -d database_name -c collection_name
    mongorestore -d databasse_name -c collection_name --drop

    深く勉強する

    mongodump --help
    mongorestore --help