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

Erro ao atualizar o Mongodb de 3.2 para 3.6


Eu tenho um problema semelhante, atualizei no Ubuntu 16.04 do MongoDB 3.4 para 3.6, mas perdi essa etapa importante
db.adminCommand( { setFeatureCompatibilityVersion: "3.4" } )

Então eu devo fazer o downgrade para 3.4 para fazer isso e depois atualizar para 3.6 novamente. Aqui estão as etapas detalhadas:

1. Desinstalar 3.6


Backup /etc/mongod.conf
Backup /etc/apt/sources.list.d/mongodb-org-3.6.listed (renomeie ou mova para outra pasta)

sudo apt-get update
sudo apt-get remove mongodb-org-mongos mongodb-org-server mongodb-org-shell mongodb-org-tools

2. Reinstale o 3.4
Verifique a pasta /etc/apt/sources.list.d/ para ver se este arquivo existe ou não:mongodb-org-3.4.list .Se não existir, você pode recriar com este comando:

echo "deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list

então instale por apt-get
sudo apt-get update
sudo apt-get install -y mongodb-org
mongod --version
sudo systemctl start mongod

No meu caso, o comando systemctl start mongod return error Failed to start mongod.service: Unit mongod.service not found Resolvi por estes comandos:
sudo systemctl enable mongod
sudo service mongod restart
sudo service mongod status

3. Execute um comando muito importante
Após o downgrade para 3.4, execute este
mongo
MongoDB shell version v3.4.10
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.10
> db.adminCommand( { setFeatureCompatibilityVersion: "3.4" } )
{ "featureCompatibilityVersion" : "3.4", "ok" : 1 }
> exit

4. Atualize 3.6 novamente
Restaure este arquivo /etc/apt/sources.list.d/mongodb-org-3.6.listed
sudo apt-get update
sudo apt-get install mongodb-org-mongos mongodb-org-server mongodb-org-shell mongodb-org-tools

Restaurar /etc/mongod.conf . Agora, o MongoDB 3.6 começou sem nenhum problema