有没有办法通过 sftp 发送 mongodump 而不使用磁盘空间?

有没有办法通过 sftp 发送 mongodump 而不使用磁盘空间?

问题

我们有一个需要迁移的 mongo 数据库(在 ubuntu 服务器上)。但是旧服务器没有足够的磁盘空间来存储mongodump。我们可以跳过本地存储将其发送到另一台计算机吗?接收端是 Mac 或另一台 ubuntu 服务器。

答案1

您可以在具有可用磁盘空间的新/单独计算机上使用 [mongodump 中的 --host 选项][1] 指定旧服务器。这只是从新机器启动转储并将其存储在那里。在 MongoDB 3.2 中,工具提供了使用 [标准输出][2] 的功能,在这种情况下,如果您想在新机器上启动转储,然后通过管道传输到该机器上的 mongorestore,您可以直接将数据导入新机器而不使用磁盘。如果您的旧服务器 mongod 是相对较新的 2.6+ 版本,我认为使用 3.2 版本工具(mongodump 和 mongorestore)不会有任何问题。如果您想减少空间利用率,可以考虑使用 WiredTiger 存储引擎(如果您还没有使用它)。

在这种方法中您不需要使用 sftp。

相关内容