Reparar base de datos MongoDB

Mehvish Ashiq 13 junio 2022
Reparar base de datos MongoDB

Este tutorial habla sobre la reparación de una base de datos usando MongoDB en el sistema operativo Windows dependiendo del problema que enfrentemos.

Reparar una base de datos en MongoDB

Hay diferentes escenarios en los que necesitamos reparar una base de datos utilizando MongoDB. Por ejemplo, reparamos una base de datos si hay un apagado incorrecto o sucio o si queremos verificar inconsistencias y errores.

También reparamos la base de datos si el sistema se apaga accidentalmente. Antes de entrar en el proceso de reparación, comprendamos los componentes de la base de datos MongoDB.

Componentes de la base de datos MongoDB

La base de datos MongoDB tiene tres componentes, que se explican brevemente a continuación.

  1. mongo: un shell interactivo que verifica el registro de alertas; por ejemplo, detalla y reintenta una operación.
  2. mongos - Terminación indebida del proceso. Además, se vio obligado a desconectarse de una instancia.
  3. mongod: un proceso daemon que maneja las operaciones en segundo plano y las solicitudes de datos.

Los siguientes son algunos problemas y las respectivas soluciones.

Problema 1: el sistema se apaga accidentalmente

La siguiente es la solución paso a paso para este problema. Recuerda tener una carpeta de data en el directorio root antes de seguir los pasos.

  • Utilice el comando cd/ para cambiar el directorio a la root, C:\> en el sistema operativo Windows.
  • Copie la ruta completa para el servicio mongod.exe. En nuestro caso, es C:\Program Files\MongoDB\Server\5.0\bin\mongod.exe.

    Tenga en cuenta que también agregamos el parámetro --reparación.

    C:\> "C:\Program Files\MongoDB\Server\5.0\bin\mongod.exe" --dbpath C:\data --repair
    
  • Presiona la tecla Enter y espera a que termine. Una vez hecho esto, la base de datos será reparada.

Problema 2: reparar MongoDB por un apagado incorrecto

Los datos pueden ser incoherentes si se produce un apagado no limpio y el registro en diario está deshabilitado mientras se trabaja en MongoDB. Si hay un archivo mongod.lock no vacío, nos encontraremos con el siguiente mensaje de error.

Mensaje de error:

Detected unclean shutdown – mongod.lock is not empty

La solución para este problema específico se da a continuación.

  • Cambie al directorio root usando el comando cd/ en el símbolo del sistema de Windows.
  • Creamos una copia de seguridad de los archivos de datos en --dbpath.
  • Utilice --repair para inicializar MongoDB.
  • Ejecute el comando dado a continuación y presione Enter.
C:\> mongod --dbpath /data/db --repair

Una vez finalizado, se reparará el MongoDB.

Problema 3: Fallo de conexión detectado apagado no limpio

Si alguno de nosotros se encuentra con el siguiente error, debemos seguir el proceso de 2 pasos.

Mensaje de error:

couldn't connect to server 127.0.0.1 shell/mongo.js:8 4 exceptions: connect failed Unclean shutdown detected

Paso 1: abra el símbolo del sistema de Windows y escriba cd/ para cambiar el directorio a la root.

Paso 2: Ejecute el comando como se indica a continuación, presione Enter y espere a que termine. Una vez hecho esto, el MongoDB está reparado ahora.

C:\> mongod --repair
Mehvish Ashiq avatar Mehvish Ashiq avatar

Mehvish Ashiq is a former Java Programmer and a Data Science enthusiast who leverages her expertise to help others to learn and grow by creating interesting, useful, and reader-friendly content in Computer Programming, Data Science, and Technology.

LinkedIn GitHub Facebook