MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Como fazer o mongodump do OpenShift e do mongorestore localmente no MongoDB 2.4.9?


Leia a documentação relevante para suas versões primeiro, faça backup, verifique se a solução abaixo é relevante para seu cenário etc.

http://docs.mongodb.org/v2.4/reference/ programa/mongodump/
http://docs.mongodb.org/v2. 4/referência/programa/mongorestore/

INICIAR atualização de 20/11/18

Eu só tive que revisitar essas etapas novamente, o seguinte pode ser útil para outras pessoas:

01) Para visualizar todas as variáveis ​​de ambiente do MongoDB, no computador local, execute:
oc exec mongodb-XX-XXXXX env 

(retirado dos comentários aqui )

02) Para realizar o dump, vá para o terminal do pod no console do openshift e digite isto:
mongodump --host MONGODB_SERVICE_HOST:MONGODB_SERVICE_PORT --username admin --password "MONGODB_ADMIN_PASSWORD"

substituindo os nomes das variáveis ​​pelos valores reais exibidos ao executar o comando anterior.

Eu tive que usar o nome de usuário admin em vez do valor da variável de ambiente para MONGODB_USER .

03) Se você quiser compactar a pasta de despejo, faça isso no terminal do pod no console:
tar czf my_dump.tar.gz dump

(retirado dos comentários aqui )

04) Para baixar a pasta, do terminal do PC local, faça o seguinte:
oc rsync mongodb-20-XXXXX:/opt/app-root/src/dump /c/Users/Your-Directory

(retirado de documentos oficiais e postagem do blog aqui )

Atualização FIM 20/11/18

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

Verifique qual versão do mongodump você tem:
mongodump --version
mongodump version 2.4.9

mongodump

O comando abaixo irá despejar *TODOS* os bancos de dados.
mongodump --host $OPENSHIFT_MONGODB_DB_HOST:$OPENSHIFT_MONGODB_DB_PORT --username $OPENSHIFT_MONGODB_DB_USERNAME --password $OPENSHIFT_MONGODB_DB_PASSWORD  

Pasta de despejo zip
zip -r dump.zip dump

Sair do SSH
exit

Baixar via SCP

(Substitua a variável de ambiente abaixo pelo valor real).
scp [email protected]:~/app-root/repo/dump.zip /var/www/html

SSH de volta e excluir arquivos de despejo
rhc ssh [app-name]
cd app-root/repo/
rm -r dump 
rm -r dump.zip

Na linha de comando local, vá para o diretório onde você baixou o arquivo zip:
cd /var/www/html

Descompactar a pasta de despejo
unzip dump.zip -d dump

Veja qual versão do mongorestore você tem e que tudo é compatível:
mongorestore --version
mongorestore version 2.4.9

Neste ponto, excluí todos os meus bancos de dados locais *correspondentes* no RockMongo para que o processo de restauração os criasse do zero.

mongorestore
mongorestore dump

O host e a porta padrão usados ​​são localhost e 27017 .