mongoDBのデータ移行
Aというサーバで動作しているmongoDBのデータをBというサーバへ移す。
mongodumpとmongorestoreを使ってやりました。
Bでmongodumpをつかってデータをダンプする。
AとBとの間でmongoDBのTCPポートで通信できれば以下のようにしてmongodumpを実行してデータをダンプできる。
$ mongodump --host A
AはサーバAのIPアドレスか、名前解決できるホスト名。
これでカレントディレクトリにdumpというディレクトリができて、その下にDB毎にダンプファイルができる。
通信できない場合でも、できたディレクトリごとBへなんらかの方法で転送すればいい。
Bでdumprestoreを使ってリストア
$ mongorestore -d db_name --drop ./dump/db_name
db_nameはリストアしたいDBの名前。全部まとめてやるときは
$ mongorestore --drop ./dump
でいいはず。--dropをつけると移行対象になっているDBを一旦削除してからリストアしてくれる。