MongoDB: Recuperar datos después de un apagado inesperado en Ubuntu

Si ejecutas mongod pero no termina de arrancar y se te muestra este error en el log (/var/log/mongodb/mongodb.log) tendrás que reparar tu base de datos.

************** 
Unclean shutdown detected.
Please visit http://dochub.mongodb.org/core/repair for recovery instructions.
*************
Thu Dec  5 14:42:47.209 [initandlisten] exception in initAndListen: 12596 old lock file, terminating
Thu Dec  5 14:42:47.209 dbexit: 
Thu Dec  5 14:42:47.209 [initandlisten] shutdown: going to close listening sockets...
Thu Dec  5 14:42:47.209 [initandlisten] shutdown: going to flush diaglog...
Thu Dec  5 14:42:47.209 [initandlisten] shutdown: going to close sockets...
Thu Dec  5 14:42:47.209 [initandlisten] shutdown: waiting for fs preallocator...
Thu Dec  5 14:42:47.209 [initandlisten] shutdown: closing all files...
Thu Dec  5 14:42:47.209 [initandlisten] closeAllFiles() finished
Thu Dec  5 14:42:47.209 dbexit: really exiting now

Nota: Los ficheros de datos de MongoDB normalmente se encuentran en /data/db pero en mi instalación de Ubuntu están en /var/lib/mongodb.

mongodb-logo

Reparar conservando los datos:

sudo mkdir /var/lib/mongodb0
sudo mongod --dbpath /var/lib/mongodb --repair --repairpath /var/lib/mongodb0
sudo mongod --dbpath /var/lib/mongodb0

Ahora que el servidor está arrancado con la versión reparada (/var/lib/mongodb0) de tus datos originales (from /var/lib/mongodb) usa el cliente de mongo para verificar que todo está bien. En ese caso reemplaza /var/lib/mongodb con /var/lib/mongodb0.

sudo rm -rf /var/lib/mongodb
sudo mv /var/lib/mongodb0 /var/lib/mongodb
sudo chown -R mongodb:mongodb /var/lib/mongodb

Reparar sin mantener los datos:

sudo rm /var/lib/mongodb/mongod.lock
sudo mongod --dbpath /var/lib/mongodb --repair

Cuando este proceso se complete, los ficheros de datos reparados sustituirán a los originales en el directorio /var/lib/mongodb.

Ref: http://docs.mongodb.org/manual/tutorial/recover-data-following-unexpected-shutdown/

You might also like

Instalar MongoDB en Ubuntu 12.04 con driver PHP
Instalar MongoDB:sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10 echo...

MongoDB: Recover Data after an Unexpected Shutdown in Ubuntu
If you try to run mongod but it fails to start and have this error in the log file (/var/log/mongodb/mongodb.log)...

Install MongoDB in Ubuntu 12.04 with PHP driver
Install MongoDB:sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10 echo...

Solucionar “mongodb cannot be built while v8 is active” en MacPorts
Mientras actualizaba los ports en macports me salió este error:---> Configuring mongodb Error:...

Dejar un comentario?

0 Comentarios.

Deje un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.