如何从MongoDB 2.4.9本地的OpenShift和mongorestore中获取mongodump?

use*_*287 7 mongodb mongorestore mongodump

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

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

use*_*287 22

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

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


BEGIN 20/11/18更新

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

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

oc exec mongodb-XX-XXXXX env 
Run Code Online (Sandbox Code Playgroud)

(从这里的评论中收集)

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

mongodump --host MONGODB_SERVICE_HOST:MONGODB_SERVICE_PORT --username admin --password "MONGODB_ADMIN_PASSWORD"
Run Code Online (Sandbox Code Playgroud)

使用运行上一个命令时显示的实际值替换变量名称.

我不得不使用用户名admin而不是环境变量值MONGODB_USER.

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

tar czf my_dump.tar.gz dump
Run Code Online (Sandbox Code Playgroud)

(从这里的评论中收集)

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

oc rsync mongodb-20-XXXXX:/opt/app-root/src/dump /c/Users/Your-Directory
Run Code Online (Sandbox Code Playgroud)

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

结束20/11/18更新


SSH In

rhc ssh [app-name]
cd app-root/repo/
Run Code Online (Sandbox Code Playgroud)

检查您拥有的mongodump版本:

mongodump --version
mongodump version 2.4.9
Run Code Online (Sandbox Code Playgroud)

mongodump

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

mongodump --host $OPENSHIFT_MONGODB_DB_HOST:$OPENSHIFT_MONGODB_DB_PORT --username $OPENSHIFT_MONGODB_DB_USERNAME --password $OPENSHIFT_MONGODB_DB_PASSWORD  
Run Code Online (Sandbox Code Playgroud)

Zip Dump文件夹

zip -r dump.zip dump
Run Code Online (Sandbox Code Playgroud)

退出SSH

exit
Run Code Online (Sandbox Code Playgroud)

通过SCP下载

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

scp OPENSHIFT_APP_UUID@appname-username.rhcloud.com:~/app-root/repo/dump.zip /var/www/html
Run Code Online (Sandbox Code Playgroud)

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

rhc ssh [app-name]
cd app-root/repo/
rm -r dump 
rm -r dump.zip
Run Code Online (Sandbox Code Playgroud)

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

cd /var/www/html
Run Code Online (Sandbox Code Playgroud)

解压缩转储文件夹

unzip dump.zip -d dump
Run Code Online (Sandbox Code Playgroud)

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

mongorestore --version
mongorestore version 2.4.9
Run Code Online (Sandbox Code Playgroud)

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

mongorestore

mongorestore dump
Run Code Online (Sandbox Code Playgroud)

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