MongoDBの基本操作その3。DBのバックアップ、リストアなど。
DBのバックアップ
mongodump
コマンドを使ってバックアップを作成する。
DBが起動している状態で、ターミナル(コマンドプロンプト)からコマンドを実行する。
> mongodump
2015-10-18T18:46:33.339+0900 writing sample_db.sample_collection to dump/sample_db/sample_collection.bson
2015-10-18T18:46:33.341+0900 writing sample_db.sample_collection metadata to dump/sample_db/sample_collection.metadata.json
2015-10-18T18:46:33.343+0900 done dumping sample_db.sample_collection (5 documents)
完了すると、実行したディレクトリにdump/[DBフォルダ]以下が作成されて、データがbson、json形式でファイル保存される。
DBのリストア
mongorestore
コマンドを使用する。
実行すると、ダンプファイルから復元するが、基本的にinsertだけなので、一旦DBを削除してから実行する。DB削除はdb.dropDatabase()を使うが、コマンドライン上からは実行する場合、evalオプションを使う。mongodコマンドでDBを起動した状態で
以下を実行する。
> mongo sample_db --eval "db.dropDatabase()"
:
> mongorestore ./dump
2015-10-18T18:40:33.954+0900 building a list of dbs and collections to restore from ./dump dir
2015-10-18T18:40:33.956+0900 reading metadata file from dump/sample_db/sample_collection.metadata.json
2015-10-18T18:40:33.961+0900 restoring sample_db.sample_collection from file dump/sample_db/sample_collection.parts.bson
2015-10-18T18:40:34.437+0900 finished restoring sample_db.sample_collection (5 documents)
2015-10-18T18:40:34.437+0900 done