Exemplos do mongodump
Nesta página
- Use
mongodump
com uma collection - Use
mongodump
com um banco de dados e exclua coleções especificadas - Use
mongodump
com Controle de Acesso - Saída para um arquivo compactado
- Compactar a saída
- Copiar e clonar bancos de dados
- Conecte-se a um cluster MongoDB Atlas usando as credenciais AWS IAM
- Autenticação com um banco de dados específico
- Criar e restaurar arquivos de backup consistentes
- Saiba mais
Esta página mostra exemplos para mongodump
.
Execute mongodump
na linha de comando do sistema, não no shell mongo
.
Use mongodump
com uma collection
A operação a seguir cria um arquivo de despejo que contém apenas a coleção chamada records
no banco de dados chamado test
. No exemplo, o banco de dados está sendo executado na interface local na porta 27017
.
mongodump --db=test --collection=records
Usar mongodump
com um banco de dados e excluir collections especificadas
A operação a seguir despeja todas as coleções no banco de dados test
, exceto users
e salaries
:
mongodump --db=test --excludeCollection=users --excludeCollection=salaries
Use mongodump
com controle de acesso
No próximo exemplo, mongodump
cria um dump de banco de dados localizado em /opt/backup/mongodump-2011-10-24
, a partir de um banco de dados executado na porta 37017
no host mongodb1.example.net
e autenticado usando o nome de usuário user
da seguinte forma:
mongodump --host=mongodb1.example.net --port=37017 --username=user --authenticationDatabase=admin --out=/opt/backup/mongodump-2011-10-24
Se você não incluir o --password
, o mongodump
solicitará ao usuário a senha.
Saída para um arquivo compactado
Para produzir o dump para um arquivo, execute mongodump
com a opção --archive
e o nome do arquivo. Por exemplo, a operação a seguir cria um arquivo test.20150715.archive
que contém o dump do banco de dados test
.
mongodump --archive=test.20150715.archive --db=test
Compactar a saída
Para compactar os arquivos no diretório de despejo da saída, execute mongodump
com a nova opção --gzip
. Por exemplo, a operação a seguir gera arquivos compactados no diretório dump
padrão.
mongodump --gzip --db=test
Para compactar a saída do arquivo morto por mongodump
, use a opção --gzip
em conjunto com a opção --archive
, especificando o nome do arquivo compactado.
mongodump --archive=test.20150715.gz --gzip --db=test
Copiar e clonar bancos de dados
A partir da versão 4.2, o MongoDB remove o comando copydb
e o comando clone
obsoletos.
Como alternativa, os usuários podem usar mongodump
e mongorestore
(com as opções mongorestore
, --nsFrom
e --nsTo
).
Por exemplo, para copiar o banco de dados do test
de uma instância local executando na porta padrão 27017 para o banco de dados do examples
na mesma instância, você pode:
Utilize o
mongodump
para despejar o banco de dados dotest
para um arquivomongodump-test-db
:mongodump --archive="mongodump-test-db" --db=test Use
mongorestore
com--nsFrom
e--nsTo
para restaurar (com alteração do nome do banco de dados) a partir do arquivo:mongorestore --archive="mongodump-test-db" --nsFrom="test.*" --nsTo="examples.*"
Dica
Inclua opções adicionais conforme necessário, como especificar o uri ou host, o nome de usuário, a senha e o banco de dados de autenticação.
Conecte-se a um cluster MongoDB Atlas usando as credenciais AWS IAM
Novidades na versão 100.1.0.
Para conectar-se a um MongoDB Atlas cluster do que foi configurado para permitir autenticação por meio de credenciais do Amazon Web Services IAM, forneça um connection string
a mongodump
semelhante ao seguinte:
mongodump 'mongodb+srv://<aws access key id>:<aws secret access key>@cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS' <other options>
A conexão ao Atlas usando credenciais AWS IAM dessa maneira usa o MONGODB-AWS
authentication mechanism
e o $external
authSource
, como mostrado neste exemplo.
Se estiver usando um token de sessão da AWS, forneça-o também com o valor AWS_SESSION_TOKEN
authMechanismProperties
, como segue:
mongodump 'mongodb+srv://<aws access key id>:<aws secret access key>@cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS&authMechanismProperties=AWS_SESSION_TOKEN:<aws session token>' <other options>
Observação
Se o ID da chave de acesso da AWS, a chave de acesso secreta ou o token de sessão incluírem os seguintes caracteres:
: / ? # [ ] @
esses caracteres devem ser convertidos usando codificação percentual.
Como alternativa, a ID da chave de acesso da AWS, a chave de acesso secreta e, opcionalmente, o token de sessão podem ser fornecidos fora da string de conexão usando as opções --username
, --password
e --awsSessionToken
, desta forma:
mongodump 'mongodb+srv://cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS' --username <aws access key id> --password <aws secret access key> --awsSessionToken <aws session token> <other options>
Quando fornecidas como parâmetros de linha de comando, as três opções anteriores não exigem codificação de porcentagem.
Você também pode definir essas credenciais em sua plataforma usando variáveis de ambiente padrão do AWS IAM. mongodump
verifica as seguintes variáveis de ambiente quando você usa o MONGODB-AWS
authentication mechanism
:
AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
AWS_SESSION_TOKEN
Se definidas, essas credenciais não precisam ser especificadas na connection string ou por meio de suas opções explícitas.
Observação
Se você optar por usar as variáveis de ambiente da AWS para especificar esses valores, não poderá combinar e corresponder com as opções explícitas ou de cadeia de conexão correspondentes para essas credenciais. Use as variáveis de ambiente para ID de chave de acesso e chave de acesso secreta (e token de sessão, se usado) ou especifique cada uma delas usando as opções explícitas ou de cadeia de conexão.
O exemplo a seguir define variáveis de ambiente no shell bash
:
export AWS_ACCESS_KEY_ID='<aws access key id>' export AWS_SECRET_ACCESS_KEY='<aws secret access key>' export AWS_SESSION_TOKEN='<aws session token>'
A sintaxe para configurar variáveis de ambiente em outros shells é diferente. Para obter mais informações, consulte a documentação do seu shell.
Para verificar se as variáveis de ambiente estão definidas, use este comando:
env | grep AWS
Após definir as variáveis de ambiente, execute o seguinte exemplo para se conectar a um cluster do Atlas MongoDB:
mongodump 'mongodb+srv://cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS' <other options>
Autenticação com um banco de dados específico
Para autenticar com um banco de dados diferente daquele que está sendo despejado, você deve especificar authSource
no URI MongoDB.
Neste exemplo:
O nome de usuário
myuser
e senhamypassword
são utilizados. Este usuário tem acesso de leitura atestdb
.O banco de dados do
admin
é utilizado para autenticar o usuário.O banco de dados
testdb
está sendo despejado.
mongodump 'mongodb+srv://myuser:mypassword@cluster0.example.com/?authSource=admin' --db testdb
Criar e restaurar arquivos de backup consistentes
Para criar um arquivo de backup mongodump
consistente usando entradas de oplog, use a opção mongodump --oplog
. Para restaurar dados do arquivo de backup, use a opção mongorestore --oplogReplay
.
O oplog contém o histórico das operações de gravação do banco de dados.
mongodump
saídas:
Documentos, metadados e opções da coleção.
Definições de índice.
Gravações que ocorrem durante a execução do
mongodump
, se--oplog
for especificado.
Use o mongodump com a opção oplog
mongodump --oplog
cria um arquivo denominado oplog.bson
no nível superior do diretório de saída do mongodump
. O arquivo contém operações de gravação que ocorrem durante a execução do mongodump
. As gravações que ocorrem após a conclusão mongodump
não são registradas no arquivo.
Para fazer backup de clusters fragmentados com mongodump
, consulte Fazer backup de um cluster fragmentado autogerenciado com um descarte de banco de dados.
Use mongorestore com opção oplogReplay
Para restaurar entradas de oplog do arquivo oplog.bson
, use mongorestore --oplogReplay
. Use mongodump --oplog
junto com mongorestore --oplogReplay
para garantir que o banco de dados esteja atualizado e tenha todas as gravações que ocorreram durante a execução do mongodump
.
Saiba mais
utilitário mongosync para migrações de cluster para cluster
Migrar ou importar dados no Atlas