我自己就这样做了(因为RockMongo导出和导入已损坏)所以只是在这里发布。
请注意,这是针对MongoDB版本2.4.9以及相应版本的mongodump
和mongorestore
。
答案 0 :(得分: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
(从评论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
(从评论here收集)
04)
要从本地PC终端下载文件夹,请执行以下操作:
oc rsync mongodb-20-XXXXX:/opt/app-root/src/dump /c/Users/Your-Directory
(从official docs和blog post here收集)
END 20/11/18更新
SSH In
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
使用的默认主机和端口是localhost
和27017
。