7

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

请注意,这是针对 MongoDB 版本 2.4.9 以及相应版本的mongodumpmongorestore

4

1 回答 1

22

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

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


开始 20/11/18 更新

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

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

oc exec mongodb-XX-XXXXX env 

(从这里的评论中收集)

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

(从这里的评论中收集)

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

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

(从官方文档博客文章中收集)

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 中的所有本地 *corresponding* 数据库,以便恢复过程从头开始创建它们。

mongorestore

mongorestore dump

使用的默认主机和端口是localhostand 27017

于 2014-12-05T05:31:38.970 回答