从源复制MongoDB数据库

从源复制MongoDB数据库,mongodb,Mongodb,我正在尝试将Mongo数据库从本地计算机移动到公共网络Mongo服务器。db.copydatabase说它需要在目标服务器上运行,但在我的情况下,我的计算机没有外部IP设置,因此目标服务器无法通过internet连接到我的计算机。有没有办法从我的计算机到公共服务器(如从源运行而不是从目标运行)执行此操作?我还可以使用备份或任何有效的技术吗 如果您没有对源计算机的外部访问权限,则复制数据库的最简单方法如下: 使用mongodump导出数据 (可选)如果要处理大量数据,可能需要将生成的*.bson文

我正在尝试将Mongo数据库从本地计算机移动到公共网络Mongo服务器。db.copydatabase说它需要在目标服务器上运行,但在我的情况下,我的计算机没有外部IP设置,因此目标服务器无法通过internet连接到我的计算机。有没有办法从我的计算机到公共服务器(如从源运行而不是从目标运行)执行此操作?我还可以使用备份或任何有效的技术吗

如果您没有对源计算机的外部访问权限,则复制数据库的最简单方法如下:

  • 使用
    mongodump
    导出数据

  • (可选)如果要处理大量数据,可能需要将生成的*.bson文件(从网络的角度)放在目标MongoDB附近。这样做的原因是,如果移动的数据超过1Gb,导入操作(下面的步骤3)有时会在网络连接不良时停止。如果您控制目标数据库计算机,请使用您喜欢的任何机制将它们放在那里,例如,安全复制(
    scp
    )。如果您不控制目标计算机,例如,如果您使用的是MongoHQ或MongoLab主机,请将它们放在与具有MongoDB实例的节点位于同一可用性区域的EC2节点上

  • 使用
    mongorestore
    加载数据


  • 请参阅上的MongoDB文档。

    如果您没有对源计算机的外部访问权限,则复制数据库的最简单方法如下:

  • 使用
    mongodump
    导出数据

  • (可选)如果要处理大量数据,可能需要将生成的*.bson文件(从网络的角度)放在目标MongoDB附近。这样做的原因是,如果移动的数据超过1Gb,导入操作(下面的步骤3)有时会在网络连接不良时停止。如果您控制目标数据库计算机,请使用您喜欢的任何机制将它们放在那里,例如,安全复制(
    scp
    )。如果您不控制目标计算机,例如,如果您使用的是MongoHQ或MongoLab主机,请将它们放在与具有MongoDB实例的节点位于同一可用性区域的EC2节点上

  • 使用
    mongorestore
    加载数据

  • 请参阅上的MongoDB文档