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.
mongo
: un shell interactivo que verifica el registro de alertas; por ejemplo, detalla y reintenta una operación.mongos
- Terminación indebida del proceso. Además, se vio obligado a desconectarse de una instancia.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 laroot
,C:\>
en el sistema operativo Windows. -
Copie la ruta completa para el servicio
mongod.exe
. En nuestro caso, esC:\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 comandocd/
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