Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
Menu Docs

espelho mongomiclo

Aviso

Quando você usa mongomirror com um filtro de namespace, as transações na origem com namespaces que estão fora do escopo do includeNamespace <database.collection> são consideradas comportamento indefinido e podem resultar em uma perda de dados.

mongomirror é uma ferramenta para migrar manualmente dados de um conjunto de réplicas MongoDB existente para um conjunto de réplicas do MongoDB Atlas. Consulte também Baixar o mongomirror.

Para executar o mongomirror, você deve especificar:

  • O conjunto de réplicas de origem e o conjunto de réplicas de destino do Atlas.

  • Um usuário no Atlas cluster com privilégios apropriados, a senha correspondente e privilégios apropriados, se o conjunto de réplicas de origem exigir autenticação.

mongomirror --host <sourceReplSet> \
--destination <atlasCluster> \
--destinationUsername <atlasAdminUser> \
--destinationPassword <atlasPassword> \
[Additional options]

You can specify some options in the config file instead of including them in the command.

--host <host>

As informações do host do conjunto de réplicas de origem. Especifique o nome do conjunto de réplicas e uma lista de sementes dos membros, como a seguir:

<RSname>/<host1>:<port1>,<host2>:<port2>,<host3>:<port3>
--username <username>

If the source replica set requires authentication, the name of a user in the source replica set with privileges to read any database, including the local database. A user with the backup role provides the appropriate privileges. For details on the specific privileges required, see Required Access on Source Replica Set.

--password <password>

Senha do usuário especificada em --username.

--authenticationDatabase <authenticationDatabase>

O banco de dados no conjunto de réplica de origem onde o usuário especificado no --username foi criado. O banco de dados de autenticação para:

  • Os usuários autenticados por SCRAM são o banco de dados admin .

  • X.509-usuários autenticados são o banco de dados $external.

  • Os usuários autenticados pelo AWS IAM são o banco de dados do $external.

Para saber mais, consulte Banco de dados de autenticação.

--authenticationMechanism <authenticationMechanism>

O mecanismo de autenticação a ser usado para autenticar o usuário no conjunto de réplicas de origem.

Valor
Descrição

RFC 5802 Mecanismo de Autenticação de Resposta de Desafio Salted padrão usando a1 função de hash SHA-.

RFC 5802 Mecanismo de Autenticação de Resposta de Desafio Salted padrão usando a256 função de hash SHA-.

Autenticação de certificado TLS/SSL do MongoDB.

GSSAPI (Kerberos)

Autenticação externa usando Kerberos. Esse mecanismo está disponível somente no MongoDB Enterprise.

PLAIN (LDAP SASL)

Autenticação externa usando LDAP. Você também pode utilizar o PLAIN para autenticar usuários do banco de dados. PLAIN transmite senhas em texto simples. Esse mecanismo está disponível somente no MongoDB Enterprise.

MONGODB-IAM

Novo na versão 0.10.0

Autenticação externa com AWS IAM.

Para autenticar com credenciais AWS IAM, use as seguintes opções:

Para saber mais, consulte Mecanismos de autenticação.

--awsSessionToken

Novo na versão 0.10.0

Um token de sessão da AWS para uso com o mecanismo de autenticação MONGODB-IAM.

--compressors <snappy,...>

Novo na versão 0.9.0

Lista separada por vírgula de compressores para habilitar. Use "nenhum" para desabilitar. Padrão: snappy,zstd,zlib

--config=<file>

Arquivo YAML que armazena opções e valores de mongomirror. Especifique o arquivo usando caminhos relativos ou absolutos para executar mongomirror com as opções que o arquivo contém.

O arquivo de configuração suporta as seguintes opções:

Especifique as opções no arquivo de configuração utilizando a sintaxe do option: value. Não inclua -- antes das opções no arquivo de configuração. Se você definir uma opção no arquivo de configuração, você não precisará especificar esta opção dentro do comando mongomirror.

Exemplo

Crie um arquivo de configuração denominado myconfig.yaml que contenha o seguinte:

password: <passwordForUser>
destinationPassword: <passwordForDestinationUser>

Você pode executar o mongomirror sem incluir as bandeiras --password e --destinationPassword:

mongomirror --host <sourceReplSet> \
--ssl \
--username <atlasAdminUser> \
--destinationUsername <atlasAdminUser> \
--config=myconfig.yaml \
--destination <atlasCluster> \
[Additional options]
--destination <destination>

As informações do host do conjunto de réplicas de destino do Atlas.

Especifique o nome do conjunto de réplicas e uma lista de dados dos membros, como a seguir:

<RSname>/<host1>:<port1>,<host2>:<port2>,<host3>:<port3>
--destinationAuthenticationDatabase <authentication database>

Authentication database for the database user in the Atlas cluster. The authentication database for SCRAM-authenticated users is the admin database.

Para saber mais, consulte Autenticação de usuário do banco de dados.

--destinationAuthenticationMechanism <authentication mechanism>

Mecanismo de autenticação para o usuário do banco de dados no Atlas cluster. O Atlas oferece as seguintes formas de autenticação para usuários do banco de dados:

Valor
Descrição

RFC 5802 Mecanismo de Autenticação de Resposta de Desafio Salted padrão usando a1 função de hash SHA-.

RFC 5802 Mecanismo de Autenticação de Resposta de Desafio Salted padrão usando a256 função de hash SHA-.

PLAIN (LDAP SASL)

Autenticação externa usando LDAP. Você também pode utilizar o PLAIN para autenticar usuários do banco de dados. PLAIN transmite senhas em texto simples. Esse mecanismo está disponível somente no MongoDB Enterprise.

Para saber mais, consulte Autenticação de usuário do banco de dados.

--destinationUsername <Atlas user name>

Nome de um usuário do banco de dados no Atlas cluster com privilégios para ler, escrever e administrar qualquer banco de dados. Um usuário com o role de administrador do Atlas fornece os privilégios apropriados. Para obter detalhes sobre os privilégios específicos necessários, consulte Acesso necessário no cluster de destino.

--destinationPassword <password>

Senha do usuário do banco de dados especificada no --destinationUsername.

--drop

Flag that indicates that mongomirror should drop all user collections (viewable in each database with listCollections) on the target cluster. This option doesn't drop internal collections like local.system* and the oplog.

--noIndexRestore

Novo na versão 0.10.0

Omitir índices ao migrar dados.

--includeNamespace <database.collection>

Especifique um namespace no cluster de origem para espelhar para o cluster de destino. Pode ser fornecido várias vezes.

Observação

If a transaction spans multiple namespaces, only write operations applied to the namespaces specified in --includeNamespace or --includeDB are applied to the destination cluster.

--includeDB <database>

Especifique um banco de dados no cluster de origem para espelhar para o cluster de destino. Pode ser fornecida várias vezes.

Observação

If a transaction spans multiple namespaces, only write operations applied to the namespaces specified in --includeNamespace or --includeDB are applied to the destination cluster.

--ssl

Habilita conexões criptografadas TLS/SSL para o conjunto de réplicas de origem.

--sslPEMKeyFile <file>

O arquivo .pem se o conjunto de réplica de origem exigir que os clientes apresentem um certificado. O arquivo .pem contém o certificado TLS/SSL e a chave. Especifique o arquivo utilizando caminhos relativos ou absolutos.

--sslPEMKeyPassword <value>

Senha para descriptografar o arquivo da chave de certificado especificado no --sslPEMKeyFile. Use se --sslPEMKeyFile estiver criptografado.

--sslCAFile <file>

O arquivo .pem que contém a cadeia de certificados raiz da Autoridade de certificação (CA) para o conjunto de réplicas de origem. Especifique o arquivo utilizando caminhos relativos ou absolutos.

--sslCRLFile <filename>

O arquivo .pem que contém a lista de revogação de certificado para o conjunto de réplica de origem. Especifique o arquivo utilizando caminhos relativos ou absolutos.

--sslAllowInvalidHostnames

Obsoleto. Usar tlsInsecure no lugar.

Disables the validation of the TLS/SSL certificates presented by the source replica set. Allows mongomirror to connect to the source replica set if the hostname in the certificates does not match the specified hostname.

Importante

Esta opção ignora toda a validação do certificado, o que pode resultar na aceitação de certificados inválidos.

--sslAllowInvalidCertificates

Obsoleto. Usar tlsInsecure no lugar.

Ignora as verificações de validação para certificados apresentados pelo conjunto de réplicas de origem. Ao usar a configuração --allowInvalidCertificates, o MongoDB registra como aviso o uso do certificado inválido.

Importante

Esta opção ignora toda a validação do certificado, o que pode resultar na aceitação de certificados inválidos.

--tlsInsecure

Ignora as verificações de validação para a cadeia de certificado do servidor e o nome do host. Isso permite que você use certificados e nomes de host inválidos.

Isso substitui as opções obsoletas sslAllowInvalidHostnames e sslAllowInvalidCertificates .

--gssapiServiceName <name>

Se o conjunto de réplicas de origem utilizar autenticação Kerberos, o nome do serviço utilizando GSSAPI/Kerberos. Só é necessário se o serviço não usar o nome padrão mongodb.

Esta opção está disponível apenas no MongoDB Enterprise.

--gssapiHostName <host>

Se o conjunto de réplica de origem utilizar autenticação Kerberos, o nome de host de um serviço usando GSSAPI/Kerberos. Só é necessário se o nome do host de uma máquina não corresponder ao nome do host resolvido pelo DNS.

Esta opção está disponível apenas no MongoDB Enterprise.

--readPreference <read preference>

Descontinuado desde a versão 0.9.0

mongomirror sempre lê a partir do primário, a menos que a origem seja um único host sem um nome de conjunto de réplicas, caso em que ele faz uma conexão direta somente com esse host.

--writeConcern <write concern>

Descontinuado desde a versão 0.2.3: mongomirror sempre usa preocupação de gravação majoritária.

--numParallelCollections <num>, -j <num>

Padrão: 4

O número de coleções para copiar e restaurar em paralelo.

--bypassDocumentValidation

Descontinuado desde a versão 0.2.3: mongomirror sempre ignora a validação do documento .

--bookmarkFile <file>

Padrão: mongomirror.bookmark

Nome do arquivo de marcador de carimbo de data/hora do oplog.

--forceDump

Flag that indicates that mongomirror resync all source collections, even if a nonempty bookmark file exists.

--oplogPath <path>

Novo na versão 0.5.0

Enables mongomirror to buffer the initial sync oplog window to disk. When you specify a value for this option, mongomirror streams the source oplog entries to the specified directory in a single file: <oplogPath>/oplog-mongomirror.bson.sz. After the entire oplog file is replayed to the destination cluster, mongomirror removes the file and starts tailing the source oplog without buffering.

By default, mongomirror streams oplog entries from the source and applies them to the destination cluster. However, the migration may fail if the source oplog is not large enough to contain the entire initial sync oplog window. To avoid this error, you can either increase the size of the source oplog, or specify this option to ensure that the source oplog will not run out of space during the migration process.

Importante

There must be enough disk space to accommodate all of the source oplog entries that occur during the initial mongomirror sync.

For example, if the source oplog is 10 GB and covers 24 hours of changes, and mongomirror's sync is estimated to take 48 hours, there must be at least 20 GB of free disk space in the specified directory.

--oplogBatchSize <num>

Padrão: 10.000

Specify the number of oplog entries to send as a batch. mongomirror allows up to a maximum data volume size of 16 MB of documents to send as a batch.

--httpStatusPort <num>

Directs mongomirror to start an HTTP server on the specified port. You can retrieve the current status of mongomirror by issuing an HTTP GET request to http://localhost:<num>.

When running with --httpStatusPort, mongomirror does not exit when it encounters an error. Instead, it logs the error as normal and reports the error over HTTP to the specified port.

mongomirror retorna um documento em resposta à solicitação HTTP. A sintaxe de exemplo a seguir representa todos os campos de saída possíveis - a resposta real pode retornar apenas um subconjunto desses campos. Consulte a tabela subsequente para obter uma descrição dos campos e quando esperá-los.

{
"stage" : "<stage Name>",
"phase" : "<phase Name>",
"details" : {
"currentTimestamp" : "<BSON timestamp>",
"latestTimestamp" : "<BSON timestamp>",
"lastWriteOnSourceTimestamp" : "<BSON timestamp>",
"<namespace>" : {
"complete" : <boolean>,
"copiedBytes" : <integer>,
"totalBytes" : <integer>,
"createIndexes" : <integer>
},
...
},
"errorMessage" : "<error message>"
}

A tabela a seguir descreve cada campo e seus valores possíveis:

Campo
Descrição

stage

O nome do estágio em andamento. Os valores possíveis são:

  • initializing

    mongomirror começou, mas ainda não está copiando nenhum dado.

  • initial sync

    mongomirror is copying documents and indexes that already exist on the source deployment. mongomirror also tails and applies entries from the oplog.

  • oplog sync

    mongomirror está seguindo e aplicando entradas do oplog.

phase

O nome da fase. Fornece detalhes mais específicos de qual parte do stage está em andamento.

details

Um documento que fornece uma descrição detalhada do progresso da fase atual.

During the initial sync stage, each subdocument in details represents a single collection being copied by mongomirror.

Depending on the stage or phase, mongomirror may not include this field in the response.

details.<namespace>

O namespace completo da coleção que está sendo copiada, exibido como <database>.<collection>.

Somente é exibido durante a fase initial sync ao copiar documentos ou índices.

details.<namespace>.complete

Displays true or false depending on whether or not mongomirror has copied all documents or indexes from the collection to the target Atlas cluster.

Somente é exibido durante a fase initial sync ao copiar documentos ou índices.

details.<namespace>.copiedBytes

The number of bytes copied so far. Note that this is a different measurement from the mongomirror logs, which report the current/total number of documents copied.

Exibido somente durante a fase initial sync ao copiar dados que não são de índice.

details.<namespace>.totalBytes

O tamanho total (em bytes) da coleção.

Exibido somente durante a fase initial sync ao copiar dados que não são de índice.

details.<namespace>.createIndexes

O número de índices que foram ou serão criados.

Exibido somente durante o estágio initial sync ao copiar índices.

details.currentTimestamp

The BSON timestamp value of the oplog entry most recently processed. mongomirror only refreshes this data point every 10 seconds, so mongomirror may be slightly further ahead of the reported time.

Só é exibido durante os estágios initial sync ou oplog sync ao seguir ou aplicar entradas de oplog.

details.latestTimestamp

Durante o estágio initial sync, isso representa o valor do registro de data e hora BSON da última entrada do oplog disponível depois que os dados iniciais foram copiados durante a sincronização inicial.

Durante o estágio oplog sync, isso representa o valor do registro de data e hora BSON da última entrada de oplog disponível no sistema de origem.

Só é exibido durante os estágios initial sync ou oplog sync ao seguir ou aplicar entradas de oplog.

details
.lastWriteOnSourceTimestamp

The BSON timestamp value of the most recent oplog entry that is not a no-op. No-op entries are generally system-level operations such as heartbearts that do not write or edit data in the database. mongomirror refreshes this value every 10 seconds. Operations which write or edit data in the database may not be reported until the next refresh occurs.

O campo lastWriteOnSourceTimestamp é útil como confirmação de que nenhuma nova gravação está ocorrendo no sistema de origem antes da interrupção durante a migração.

errorMessage

A string that describes any error encountered by mongomirror.

--collStatsThreshold <num>

Novo na versão 0.9.0

Maximum number of collections which may exist before collStats is disabled. Use -1 to always run collStats or 0 to never run collStats. Default: -1

--removeAutoIndexId

Novidade na versão 0.12.0

Remove a opção autoIndexId das collections durante a initial sync com o cluster de destino. Remove também a opção autoIndexId de qualquer collection que o mongomirror crie durante a migração.

--preserveUUIDs

Permite ao Atlas preservar UUID durante a migração live. Esta opção funciona somente com o processo de migração live que o Atlas executa. Se você utilizar a opção --preserveUUIDs na linha de comando, ela falhará devido a erros de permissão. Esses erros são esperados porque essa opção não se destina a ser usada na linha de comando em um processo de migração autogerenciado que executa mongomirror.

O exemplo a seguir migra de um conjunto de réplicas de origem que não requer autenticação:

mongomirror --host sourceRS/source-host1:27017,source-host2:27017 \
--destination myAtlasRS/atlas-host1:27017,atlas-host2:27017 \
--destinationUsername myAtlasUser \
--destinationPassword myAtlasPwd

Para migrar de um conjunto de réplicas de origem que não exige autenticação, execute o mongomirror com as seguintes opções:

Para o destino, especifique o nome do conjunto de réplicas seguido por uma lista de sementes de membros no seguinte formato:

<replicaSetName>/<host1>:<port1>,<host2>:<port2>,<host3>:<port3>,...

The specified user must have the Atlas admin role on Atlas.

O exemplo a seguir migra um conjunto de réplicas de origem que utiliza autenticação SCRAM-SHA1 para Atlas:

mongomirror --host sourceRS/source-host1:27017,source-host2:27017,source-host3:27017 \
--username mySourceUser \
--password mySourcePassword \
--authenticationDatabase admin \
--destination myAtlasRS/atlas-host1:27017,atlas-host2:27017 \
--destinationUsername myAtlasUser \
--destinationPassword atlasPassw0Rd

To migrate from a source replica set that uses SCRAM-SHA1 authentication, run mongomirror with the following options:

O usuário do conjunto de réplicas de origem deve ter o acesso necessário no cluster de origem. O role do backup fornece os devidos privilégios.

Para o destino, especifique o nome do conjunto de réplicas seguido por uma lista de sementes de membros no seguinte formato:

<replicaSetName>/<replicaMember>,<replicaMember>,<replicaMember>,...

The specified user must have the Atlas admin on Atlas.

O exemplo a seguir migra de um conjunto de réplicas de origem que usa autenticação X.509:

mongomirror --host sourceRS/source-host1:27017,source-host2:27017,source-host3:27017 \
--username "CN=myName,OU=myOrgUnit,O=myOrg,L=myLocality,ST=myState,C=myCountry" \
--authenticationDatabase '$external' \
--authenticationMechanism MONGODB-X509 \
--ssl \
--sslPEMKeyFile <path-to-my-client-certificate.pem> \
--sslCAFile <path-to-my-certificate-authority-certificate.pem> \
--destination myAtlasRS/atlas-host1:27017,atlas-host2:27017 \
--destinationUsername myAtlasUser \
--destinationPassword atlasPassw0Rd

To migrate from a source replica set that uses X.509 authentication, run mongomirror with the following options:

O usuário do conjunto de réplicas de origem deve ter o acesso necessário no cluster de origem. O role do backup fornece os devidos privilégios.

Para o destino, especifique o nome do conjunto de réplicas seguido por uma lista de sementes de membros no seguinte formato:

<replicaSetName>/<replicaMember>,<replicaMember>,<replicaMember>,...

The specified user must have the Atlas admin on Atlas.

O exemplo a seguir migra de um conjunto de réplica de origem que usa a autenticação Kerberos:

mongomirror --host sourceRS/source-host1:27017,source-host2:27017,source-host3:27017 \
--username sourceUser/administrator@MYREALM.COM \
--authenticationDatabase '$external' \
--authenticationMechanism GSSAPI \
--destination myAtlasRS/atlas-host1:27017,atlas-host2:27017,atlas-host3:27017 \
--destinationUsername atlasUser \
--destinationPassword atlasPass

To migrate from a source replica set that uses Kerberos authentication, run mongomirror with the following options:

O usuário do conjunto de réplicas de origem deve ter o acesso necessário no cluster de origem. O role do backup fornece os devidos privilégios.

Para o destino, especifique o nome do conjunto de réplicas seguido por uma lista de sementes de membros no seguinte formato:

<replicaSetName>/<replicaMember>,<replicaMember>,<replicaMember>,...

The specified user must have the Atlas admin on Atlas.

Você pode salvar os registros de saída de um procedimento do mongomirror em um arquivo para exame posterior e depuração. Use o seguinte formato para salvar a saída em um arquivo mongomirror.log :

mongomirror <args> 2>&1 | tee -a mongomirror.log