【问题标题】:How to mongodump from OpenShift and mongorestore locally on MongoDB 2.4.9?如何在 MongoDB 2.4.9 上本地从 OpenShift 进行 mongodump 和 mongorestore?
【发布时间】:2014-11-26 22:50:02
【问题描述】:

我自己就是这样做的(因为 RockMongo 导出和导入已损坏)所以只是在这里发布。

请注意,这是针对 MongoDB 版本 2.4.9 的,对应版本为 mongodumpmongorestore

【问题讨论】:

  • 感谢您发布此信息,这非常有帮助。我实际上会尝试将此作为指导,但反过来:我有一个本地 mongodump 并想通过 SCP 上传,然后在 openshift 中执行 mongorestore。你碰巧知道怎么做吗?我似乎找不到这方面的任何资源。我想知道我是否这样做只会创建一个新的 mongo 数据库,并且我是否必须以某种方式更改一些环境变量以指向该新数据库。 (我经历这个的原因是我正在将我的应用程序从 Heroku 迁移到 OpenShift)。谢谢!
  • 这是来自旧帖子,因此请务必阅读有关该主题的官方文档并在采取任何行动等之前进行备份,但反思所涉及的逻辑可能会有所帮助:@987654321 @

标签: mongodb mongodump mongorestore


【解决方案1】:

首先阅读与您的版本相关的文档,备份,确保以下解决方案与您的场景相关等。

http://docs.mongodb.org/v2.4/reference/program/mongodump/
http://docs.mongodb.org/v2.4/reference/program/mongorestore/


2018 年 11 月 20 日开始更新

我只需要重新审视这些步骤,以下内容可能对其他人有所帮助:

01) 查看所有 MongoDB 环境变量,从本地计算机运行:

oc exec mongodb-XX-XXXXX env 

(来自 cmets here

02) 要执行转储,请转到 openshift 控制台中的 pod 终端并输入:

mongodump --host MONGODB_SERVICE_HOST:MONGODB_SERVICE_PORT --username admin --password "MONGODB_ADMIN_PASSWORD"

将变量名称替换为运行上一个命令时显示的实际值。

我必须使用用户名admin 而不是MONGODB_USER 的环境变量值。

03) 如果要压缩转储文件夹,请从控制台的 pod 终端执行此操作:

tar czf my_dump.tar.gz dump

(收集自 cmets here

04) 要从本地 PC 终端下载文件夹,请执行以下操作:

oc rsync mongodb-20-XXXXX:/opt/app-root/src/dump /c/Users/Your-Directory

(收集自 official docsblog post here

2018 年 11 月 20 日更新


SSH 输入

rhc ssh [app-name]
cd app-root/repo/

检查您拥有的 mongodump 版本:

mongodump --version
mongodump version 2.4.9

mongodump

下面的命令将转储 *ALL* 数据库。

mongodump --host $OPENSHIFT_MONGODB_DB_HOST:$OPENSHIFT_MONGODB_DB_PORT --username $OPENSHIFT_MONGODB_DB_USERNAME --password $OPENSHIFT_MONGODB_DB_PASSWORD  

Zip 转储文件夹

zip -r dump.zip dump

退出 SSH

exit

通过 SCP 下载

(将下面的环境变量替换为实际值)。

scp OPENSHIFT_APP_UUID@appname-username.rhcloud.com:~/app-root/repo/dump.zip /var/www/html

SSH 重新登录并删除转储文件

rhc ssh [app-name]
cd app-root/repo/
rm -r dump 
rm -r dump.zip

在本地命令行中,转到您下载 zip 文件的目录:

cd /var/www/html

解压转储文件夹

unzip dump.zip -d dump

查看您拥有的 mongorestore 版本以及所有内容是否兼容:

mongorestore --version
mongorestore version 2.4.9

此时,我删除了 RockMongo 中的所有本地*对应*数据库,以便恢复过程从头开始创建它们。

mongorestore

mongorestore dump

使用的默认主机和端口是localhost27017

【讨论】:

  • 也可以使用 rhc scp 下载 rhc scp dev download {localpath} {remotepath}
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-05-30
  • 1970-01-01
  • 2020-05-29
  • 1970-01-01
  • 2020-11-25
  • 1970-01-01
  • 2013-09-03
相关资源
最近更新 更多