我有一台服务器与外界通信有问题。 我想将其中的mongodb内容复制到另一台服务器,但由于这两台服务器无法相互通信,db.copyDatabase()是行不通的。
是否有类似于mysqldump的东西,可以将数据库转储为二进制文件,将其scp到其他位置,然后使用它填充另一个mongodb服务器?
我有一台服务器与外界通信有问题。 我想将其中的mongodb内容复制到另一台服务器,但由于这两台服务器无法相互通信,db.copyDatabase()是行不通的。
是否有类似于mysqldump的东西,可以将数据库转储为二进制文件,将其scp到其他位置,然后使用它填充另一个mongodb服务器?
如果您正在使用Ubuntu / Linux,请运行以下命令。 首先,在原始服务器上运行mongodump
:
mongodump --db DataBaseName
将生成的dump/DataBaseName
文件夹复制到新机器上,然后使用mongorestore
进行导入:
mongorestore --db DataBaseName /path/to/DataBaseName
请注意,/path/to/DataBaseName
应该是一个目录,里面填满了您数据的 .json 和 .bson 表示。
mongodump --db test --collection collection
mongorestore --collection collection --db test dump/
您也可以使用gzip。文档中有更多示例。
mongodump未定义
。 - user2173353根目录必须是单个数据库的转储
)。我使用的命令是:mongorestore --db myDB .\dump\myDB
,你可以在Mongodb monogorestore "root directory must be a dump of a single database"或下面找到更多信息。 - JPBlancmongodump --db DatabaseName -o ./DirectoryName
mongorestore --db DBName ./DirectoryName