Menu Docs
Página inicial do Docs
/
Manual do MongoDB
/ / /

Fazer downgrade 4.4 Autônomo para 4.2

Nesta página

  • Caminho de downgrade
  • Criar cópia de segurança
  • Controle de acesso
  • Pré-requisitos
  • Procedimento

Antes de tentar qualquer downgrade, familiarize-se com o conteúdo deste documento.

Se você precisar fazer o downgrade do 4.4, faça o downgrade para a versão de correção mais recente do 4.2.

O MongoDB suporta apenas downgrades de versão única. Você não pode fazer o downgrade para uma versão que esteja várias versões atrás da versão atual.

Por exemplo, você pode fazer o downgrade de uma série 4.4 para uma implantação da série 4.2. No entanto, fazer outro downgrade da implantação da série 4.2 para uma implantação da série 4.0 não é suportado.

Aviso

Downgradefloor

Se você precisar fazer o downgrade da versão 4.4, faça o downgrade para a 4.2.6 ou uma versão posterior. Você não pode fazer o downgrade para a 4.2.5 ou uma versão anterior.

Opcional, mas recomendado. Crie uma cópia de segurança do seu banco de dados.

Se seu sistema tiver o controle de acesso ativado, os privilégios de usuário de downgrade deverão incluir privilégios para listar e gerenciar índices nos bancos de dados. Um usuário com papel do root tem os privilégios exigidos.

Para reduzir de 4.4 para 4.2, você deve remover feições incompatíveis que são persistentes e/ou atualizar configurações incompatíveis. Esses incluem:

Começando no MongoDB 4.4:

O limite de comprimento do namespace para coleções e visualizações não fragmentadas é de 255 bytes e 235 bytes para coleções fragmentadas. Para uma coleção ou visualização, o namespace inclui o nome do banco de dados, o separador de ponto (.) e o nome da coleção/visualização (por exemplo, <database>.<collection>).

Antes de fazer o downgrade, resolva quaisquer collections ou visualizações com namespaces que excedam o limite de comprimento do namespace de 120 bytes para a versão de compatibilidade de recursos (fCV) 4.2.

Para determinar se você tem alguma collection ou visualização com namespace que excedem o limite de 120 bytes, conecte o shell mongo à instância mongod e execute:

db.adminCommand("listDatabases").databases.forEach(function(d){
let mdb = db.getSiblingDB(d.name);
mdb.getCollectionInfos( ).forEach(function(c){
namespace = d.name + "." + c.name
namespacelenBytes = encodeURIComponent(namespace).length
if (namespacelenBytes > 120) {
print (c.type.toUpperCase() + " namespace exceeds 120 bytes:: " + namespace )
}
} )
})

Se algum namespace de visualização ou collection exceder 120 bytes, antes de fazer o downgrade do FCV:

  • Renomeie a collection usando o comando renameCollection .

  • Para visualizações, use db.createView() para recriar a visualização usando um nome mais curto e, em seguida, solte a visualização original.

Para fazer downgrade do featureCompatibilityVersion do seu autônomo:

  1. Conecte uma shell do mongo à instância do mongod.

  2. Faça o downgrade de featureCompatibilityVersion para "4.2".

    db.adminCommand({setFeatureCompatibilityVersion: "4.2"})

    O comando setFeatureCompatibilityVersion executa grava em uma coleção de sistema interno e é idempotente. Se, por qualquer motivo, o comando não for concluído com êxito, tente novamente o comando na instânciamongod.

As etapas a seguir serão necessárias somente se fCV tiver sido definido como "4.4".

Remova todas as funcionalidades persistentes do 4.4 que são incompatíveis com o 4.2. Esses incluem:

Índices compostos com hash

Remova todos os índices compostos com hash.

Use db.collection.getIndexes() para identificar qualquer índice composto com hash em uma collection e use db.collection.dropIndex() para remover esses índices.

Remova todas as feições persistentes que utilizam feições do 4.4. Isso inclui, mas não está limitado a:

Aviso

Antes de prosseguir com o procedimento de downgrade, certifique-se de que os pré-requisitos foram concluídos.

1

Utilizando um gerenciador de pacotes ou um download manual, obtenha a versão mais recente na série 4.2. Se estiver usando um gerenciador de pacotes, adicione um novo repositório para os binários 4.2 e execute o processo de downgrade real.

Importante

Antes de atualizar ou fazer downgrade de um conjunto de réplicas, certifique-se de que todos os membros do conjunto de réplicas estejam em execução. Se você não fizer isso, a atualização ou downgrade não será concluído até que todos os membros sejam iniciados.

Se você precisar fazer o downgrade do 4.4, faça o downgrade para a versão de correção mais recente do 4.2.

2

Para encerrar o processo mongod forma limpa, conecte um shell mongo à instância e execute:

db.adminCommand( { shutdown: 1 } )

Um desligamento limpo de um mongod conclui todas as operações pendentes, transfere todos os dados para arquivos de dados e fecha todos os arquivos de dados.

3

Substitua o binário 4.4 pelo binário 4.2 mongod baixado e reinicie.

Voltar

Downgrade

Próximo

Downgrade