Importante
MongoDB 8.3 é a versão menor mais recente. A partir do MongoDB 8.2, versões secundárias estão disponíveis para implantações locais (Community e EA) para casos de uso específicos. Para obter mais informações, consulte a seção Versões do MongoDB.
Para instalar a versão mais recente do MongoDB compatível com uso local, consulte as instruções de instalação.
Antes de tentar fazer um downgrade, familiarize-se com o conteúdo nesta página.
Caminho de downgrade
Importante
Antes de atualizar ou fazer downgrade de um cluster, certifique-se de que todos os membros do cluster 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 8.3, faça o downgrade para a versão de correção mais recente do 8.0.
O MongoDB suporta downgrades de versão única apenas em versões adjacentes. Você não pode fazer o downgrade para uma versão que esteja várias versões atrás da versão atual.
Para qualquer versão do MongoDB, você pode atualizar ou reverter para a versão principal ou secundária imediatamente anterior.
Controle de acesso
Se o seu conjunto de réplicas tiver o controle de acesso habilitado, o privilégio de downgrade de usuário deverá incluir privilégio para managed índices em reconhecimento de data center. Um usuário com role root tem os privilégios necessários.
Pré-requisitos
Antes de iniciar o procedimento de downgrade, você deve concluir as etapas de pré-requisito a seguir.
Criar cópia de segurança
Opcional, mas recomendado. Crie uma cópia de segurança do seu banco de dados.
Para saber como criar uma cópia de segurança, consulte Métodos de cópia de segurança para um sistema autogerenciado.
Remover recursos incompatíveis do Backward-Incompatible
Para fazer o downgrade de 8.3 para 8.0, você deve remover 8.3 funcionalidades que são incompatíveis com 8.0. Para obter uma lista de recursos incompatíveis e como removê-los, consulte Considerações sobre downgrade.
Downgrade Feature Compatibility Version (fCV)
Para fazer downgrade do FCV do seu conjunto de réplicas:
Certifique-se de que não haja initial sync em andamento. A execução do comando
setFeatureCompatibilityVersionenquanto uma initial sync está em andamento faz com que a initial sync seja reiniciada.Certifique-se de que nenhum nó tenha um campo
newlyAddedna configuração do conjunto de réplicas. Execute o seguinte comando em cada nó do seu conjunto de réplicas para verificar isso:use local db.system.replset.find( { "members.newlyAdded" : { $exists : true } } ); O campo
newlyAddedsó aparece no documento de configuração do conjunto de réplicas de um nó durante e logo após uma sincronização inicial.Certifique-se de que nenhum membro do conjunto de réplicas esteja no estado
ROLLBACKouRECOVERING.Use
mongoshto connect to your primary.Faça o downgrade de
featureCompatibilityVersionpara"8.0".Importante
Verifique se você removeu todos os recursos incompatíveis com versões anteriores antes de fazer o downgrade da versão binary. Certifique-se de avaliar o caminho da atualização antes de continuar.
db.adminCommand( { setFeatureCompatibilityVersion: "8.0", confirm: true } ) O comando
setFeatureCompatibilityVersionexecuta gravações em uma collection interna do sistema e é idempotente. Se o comando não for concluído com êxito, tente novamente o comando no primary.Para garantir que todos os membros do conjunto de réplicas tenham o
featureCompatibilityVersionatualizado, conecte a cada membro do conjunto de réplicas e verifique ofeatureCompatibilityVersion:db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } ) "featureCompatibilityVersion" : { "version" : "8.0" } Se algum membro retornar uma
featureCompatibilityVersionde"9.0", aguarde até que o membro retorne a versão"8.3"antes de continuar.
Para obter mais informações sobre o valor featureCompatibilityVersion retornado, consulte Obter FeatureCompatibilityVersion.
Procedimento de downgrade
Aviso
Antes de prosseguir com o procedimento de downgrade, certifique-se de que todos os membros do conjunto de réplicas, incluindo os membros do conjunto de réplicas atrasadas, tenham as alterações de pré-requisito. Para fazer isso, verifique o featureCompatibilityVersion e remova as feições incompatíveis para cada nó antes de fazer o downgrade.
Baixe o 8.0 mais recente binary
Utilizando um gerenciador de pacote ou um download manual, obtenha a versão mais recente do 8.0. Se estiver usando um gerenciador de pacote , adicione um novo repositório para os binários 8.0 e execute o processo de downgrade real.
Importante
Antes de atualizar ou fazer downgrade de um cluster, certifique-se de que todos os membros do cluster 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 8.3, faça o downgrade para a versão de correção mais recente do 8.0.
Fazer downgrade dos membros secundários do conjunto de réplicas
Faça o downgrade de cada membro secundário do conjunto de réplicas, um de cada vez:
Reinicie o membro.
Para iniciar um processo do
mongod, execute o seguinte comando:mongod --dbpath </path-to-data-folder> Para saber mais sobre como iniciar um processo do
mongod, veja Iniciar processos domongod.Aguarde o membro entrar no estado
SECONDARY.Before downgrading the next secondary, wait for the member to recover to the
SECONDARYstate. To check the member's state, use thers.status()method inmongosh.Depois que o membro estiver no estágio
SECONDARY, faça downgrade do próximo secundário.
Faça downgrade do membro do conjunto de réplicas do árbitro
Pule esta etapa se o conjunto de réplicas não incluir um árbitro.
Faça downgrade do membro árbitro do conjunto de réplicas:
Desligue o membro.
To shutdown the arbiter, use
mongoshto connect to the arbiter and run the following command:db.adminCommand( { shutdown: 1 } ) Exclua o conteúdo da linguagem de definição de dados (DDL) do árbitro.
Para encontrar a linguagem de definição de dados (DDL) do árbitro
mongod, verifique a configuração dostorage.dbPathou a opção de linha de comando--dbpath.Execute o seguinte comando:
rm -rf /path/to/mongodb/datafiles/* Reinicie o árbitro.
Para iniciar um processo do
mongod, execute o seguinte comando:mongod --dbpath </path-to-mongodb-datafiles> Para saber mais sobre como iniciar um processo do
mongod, veja Iniciar processos domongod.Aguarde o membro entrar no estado
ARBITER.Before downgrading the primary, wait for the member to recover to the
ARBITERstate. To check the member's state, use thers.status()method inmongosh.
Faça downgrade o primário
Rebaixe o primário.
In
mongosh, users.stepDown()to step down the primary and force the normal failover procedure.rs.stepDown() Verifique se o primário foi desativado.
Execute o seguinte comando:
rs.status() Verifique se o primário foi desativado e se outro membro assume o estado
PRIMARY.Substitua e reinicie o antigo
mongodprimário.Desligue o membro.
To perform a shutdown of the primary, use
mongoshto connect to the primary and run the following command:db.adminCommand( { shutdown: 1 } ) Reinicie o
mongodcom o binário 8.0 .Para iniciar um processo do
mongod, execute o seguinte comando:mongod --dbpath </path-to-mongodb-datafiles> Para saber mais sobre como iniciar um processo do
mongod, veja Iniciar processos domongod.