web-dev-qa-db-ja.com

mongorestore r3.2.9を使用して、新しいデータベース名で.gzバックアップから復元する方法

Mongodbデータベースを.gzファイルに/からバックアップ/復元しようとしています ここにサンプルスクリプト

#01 create .gz backup - ok for r3.2.9 and r3.4.10 
mongodump --db ${DB_NAME} --gzip --archive=${BACKUP_FILE_GZ}

#02 restore from .gz file - NOT ok for r3.2.9
mongorestore --gzip --archive=${BACKUP_FILE_GZ} --nsFrom "${DB_NAME}.*" --nsTo "${DB_NAME_RESTORE}.*"

ステップ01つまり、バックアップは、mongodbバージョンr3.2.9およびr3.4.10;ただし、ステップ02はr3.2.9

mongorestoreバージョンr3.2.9 .gzファイルから復元し、データベースの名前を変更できますか?

pS.

ソリューションはこちら がありますが、これにはバックアップをフォルダーにする必要があります。私のバックアップファイルは巨大、つまり1Gb-2Gbなので、抽出に時間がかかりすぎます。

7
Nam G VU

3.2.xでは、--nsFromまたは--nsToパラメータを使用できません。このコマンドのペアは、すべてのバージョンで機能するはずです。

mongodump --db ${DB_NAME} --gzip -o ${BACKUP_FILE_GZ}

mongorestore --gzip --db "${DB_NAME_RESTORE}" ${BACKUP_FILE_GZ}/${DB_NAME}

これで、gzip圧縮されたファイルを含むディレクトリが取得され、すべて(または1つだけ)のコレクションを別のデータベースに復元できます。

9
JJussi

これでうまくいきます。

mongorestore --gzip --archive=/path/to/file.gz --db db_name
9
Siraj Alam

これは、mongodumpスクリプトに--archive 国旗。

次に、mongorestoreを実行するときにそれを使用する必要があります。

3
Jorge Lopez