Skip to content

Instantly share code, notes, and snippets.

@lxyuma
Last active December 17, 2015 16:59
Show Gist options
  • Save lxyuma/5642687 to your computer and use it in GitHub Desktop.
Save lxyuma/5642687 to your computer and use it in GitHub Desktop.
mongodb backup

mongodb dump

やり方

  • ファイルコピー
  • メリット:高速
  • デメリット:DB停止かロック(db.fsyncLock())が必要
  • (replica setはoplog溢れないよう注意)
  • mongodump
  • メリット:ファイル小さくなる
  • デメリット:時間かかる。インデックスがダンプされず、リストア時に再構築

mongodump

# mongodump --port 27017 --db db_name
connected to: 127.0.0.1:27017
Thu Jun 27 19:08:34 DATABASE: db_name  to 	dump/db_name
Thu Jun 27 19:08:34 	pinqa2_staging.pvs to dump/db_name/collection_name.bson
Thu Jun 27 19:08:34 		 79 objects
Thu Jun 27 19:08:34 	Metadata for db_name.collection_name to dump/db_name/collection_name.metadata.json

・・・
  • 結果
$ ls dump/test/
customers.bson   ← customersコレクションの全バイナリデータ
customers.metadata.json   ← customersコレクションのメタデータ
system.indexes.bson   ← testデータベースのシステムインデックス

mongodumpのリストア

insertしかしないので、注意

  • 一旦、古いデータは削除してから、restoreする

$ mongorestore ./dump

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment