MongoDBのバックアップ・リストア¶
- MongoDBのバックアップ・リストアに関するページです。
前提条件¶
- バックアップ元とリストア先にMongoDBがインストールされていることとします。
- yum経由でmongodbをインストールした場合のdbpathは「var/lib/mongo」です。
- 起動時にlockファイルでエラーとなる場合、dbpath内の.lockファイルを削除します。
オフラインバックアップ・リストア(簡単な方法)¶
- mongod起動時に指定している「dbpath」のディレクトリをコピー・転送します。
# mongod --dbpath=/usr/local/mongodb/data 上記で起動している場合、 # cd /usr/local/mongodb # tar czvf data.tar.gz data などで、アーカイブし転送します。
- ただし、上記の方法を行うためには、mongodbを停止しておく必要があります。
- 移動先でアーカイブを展開し、mongodのdbpathに指定して起動します。
mongodはあらかじめ停止しておきます。 # service mongod stop # mv data.tar.gz /usr/local/mongodb # cd /usr/local/mongodb # tar xzvf data.tar.gz 展開後、mongodを起動します。 # mongod --dbpath=/usr/local/mongodb/data
オンラインバックアップ・リストア¶
- バックアップ元のmongodは起動したままにしておきます。
- ダンプ先を仮に「/tmp/mongodump-YYYYMMDD」と指定し、次のコマンドを実行します。
フォルダはあらかじめ作成しない。 # mongodump --out /tmp/mongodump-20130906 転送用にアーカイブします。 # cd /tmp # tar czvf mongodump-20130906.tar.gz mongodump-20130906 アーカイブしたダンプファイルをリストア先に転送します。
- リストア先のmongodを停止します。
# service mongod stop
- リストア先のmongodのデータ(dbpath指定先)をクリアします。
# rm -rf /usr/local/mongod/data/*
- リストア先のmongodbをクリーンな状態で起動します。
# service mongod start
- リストアコマンドを実行します。
# mongorestore /tmp/mongodump-20130906
- 以上でデータが投入されます。
¶
¶