【问题标题】:How to restore remote MongoDB server with local mongodump data如何使用本地 mongodump 数据恢复远程 MongoDB 服务器
【发布时间】:2018-02-10 21:58:44
【问题描述】:

我们有一个远程 MongoDB 服务器,并且我们在本地开发人员的机器上有 mongodump 数据。用本地数据恢复远程 MongoDB 服务器数据的最佳方法是什么?有没有我们可以使用的 mongo 命令?

【问题讨论】:

  • 你可以看看 mongoexport, mongoimport 来做这个任务
  • 是的,我们使用了 mongorestore,因为原始数据转储是使用 mongodump 完成的

标签: mongodb scp


【解决方案1】:

只需使用mongorestore,但将其指向远程服务器,例如:

$ mongorestore -h ds01234567.mlab.com:12345 -d heroku_fj33kf -u <user> -p <password> <input db directory>

来自 MongoLab 的文档

【讨论】:

    【解决方案2】:

    好的,所以我们分两步完成。我认为您可以一步完成,只需mongorestore

    首先我们使用scp命令将数据从本地机器移动到远程机器:

    scp <path-to-mongofile> <remote-host>:<absolute-file-path>
    

    然后我们 ssh'd 到远程 mongod 服务器,并使用 mongorestore 恢复 db

    mongorestore --host=$HOST --port=$PORT -u $ADMIN_USER -p $PSWD  --db <your-db> <absolute-path-to-restore-db> --authenticationDatabase "admin"
    

    但我认为第一个scp 命令是多余的。事实上,如果你不能ssh进入运行mongod的服务器,那么你将不得不直接在本地开发者的机器上使用mongorestore命令。

    【讨论】:

    • 嘿亚历山大!很抱歉打扰您,但您似乎完全符合我的要求。我对 SSH 完全一无所知(我今天早上第一次配置了一个树莓派服务器),我想在本地创建一个 mongodump 以在我的树莓服务器上恢复它。你的解决方案对我有用吗?谢谢!
    • 嘿,不是 100% 确定,但我认为它会起作用 :) 就像我在答案中所说,我认为 scp 命令是多余的,请先尝试使用 mongorestore 命令。您在树莓派设备上运行了一个 mongod 进程,对吗?顺便说一句,我认为 SQLite3 可能是一个更好的数据库,如果你有选择的话。
    • 是的,scp 命令可以省略。对我有用的只是以这种方式从我的转储文件夹中运行 mongorestore 命令:mongorestore --host=&lt;host-name&gt; --db &lt;db-name&gt; ./
    猜你喜欢
    • 2015-08-06
    • 2022-10-13
    • 2013-10-14
    • 1970-01-01
    • 1970-01-01
    • 2021-04-10
    • 1970-01-01
    • 2014-02-13
    • 1970-01-01
    相关资源
    最近更新 更多