我有mongorestore
版本3.4.5:
$ mongorestore --version
mongorestore version: r3.4.5
git version: 520b8f3092c48d934f0cd78ab5f40fe594f96863
Go version: go1.7
os: linux
arch: amd64
compiler: gc
OpenSSL version: OpenSSL 1.0.2g 1 Mar 2016
由于我的服务器上没有足够的磁盘空间,所以我必须从zip文件恢复数据库。我尝试了与文档中相同的命令,但它给出了错误,似乎mongorestore
忽略了标准输入:
$ zcat threads.bson.zip | mongorestore --db suomi24 --collection threads --verbose
2017-06-16T23:29:39.377+0300 using write concern: w='1', j=false, fsync=false, wtimeout=0
2017-06-16T23:29:39.377+0300 the --db and --collection args should only be used when restoring from a BSON file. Other uses are deprecated and will not exist in the future; use --nsInclude instead
2017-06-16T23:29:39.378+0300 using default 'dump' directory
2017-06-16T23:29:39.378+0300 see mongorestore --help for usage information
2017-06-16T23:29:39.378+0300 Failed: mongorestore target 'dump' invalid: stat dump: no such file or directory
zip文件大约10GB,所以我无法做到
$ dump=$(zcat threads.bson.zip);mongorestore --db suomi24 --collection threads < $dump
zsh: fatal error: out of heap memory
那么正确的方法是什么?
答案 0 :(得分:7)
而不是你直接转储到bson并压缩,因为你的数据库非常大,我认为如果你压缩转储文件很容易在其他服务器上恢复它。 您可以像这样进行转储:
mongodump --archive=threads.bson.gz --gzip --db test而且您可以像这样恢复:
mongorestore --gzip --archive=threads.bson.gz --db test。