How to mongodump from OpenShift and mongorestore locally on MongoDB 2.4.9?

可紊 提交于 2019-12-18 13:25:13

问题


I just did this myself (as a RockMongo export and import was corrupted) so just posting here.

Note this was for MongoDB verison 2.4.9 with corresponding versions of mongodump and mongorestore.


回答1:


Read the documentation relevant to your versions first, backup, make sure the solution below is relevant to your scenario etc.

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


BEGIN 20/11/18 update

I just had to revisit these steps again, the following may be helpful to others:

01) To view all MongoDB environment variables, from local computer run:

oc exec mongodb-XX-XXXXX env 

(gleaned from comments here)

02) To perform the dump, go to pod terminal in openshift console and enter this:

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

replacing the variable names with the actual values displayed from running the previous command.

I had to use the username admin rather than the environment variable value for MONGODB_USER.

03) If you want to zip the dump folder, do this from pod terminal in console:

tar czf my_dump.tar.gz dump

(gleaned from comments here)

04) To download the folder, from local PC terminal, do this:

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

(gleaned from official docs and blog post here)

END 20/11/18 update


SSH In

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

Check what version of mongodump you have:

mongodump --version
mongodump version 2.4.9

mongodump

The command below will dump *ALL* databases.

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

Zip Dump Folder

zip -r dump.zip dump

Exit SSH

exit

Download via SCP

(Replace the environment variable below with the actual value).

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

SSH back in and delete dump files

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

In local command line, go to the directory where you downloaded the zip file:

cd /var/www/html

Unzip Dump Folder

unzip dump.zip -d dump

See what version of mongorestore you have and that everything is compatible:

mongorestore --version
mongorestore version 2.4.9

At this point, I deleted all my local *corresponding* databases in RockMongo so that the restore process would create them from scratch.

mongorestore

mongorestore dump

The default host and port used is localhost and 27017.



来源:https://stackoverflow.com/questions/27160237/how-to-mongodump-from-openshift-and-mongorestore-locally-on-mongodb-2-4-9

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!