El problema estaba en una BBDD de MySQL que estaba en un equipo que sufrió una corrupción bastante severa de los ficheros de sistemas y después de ello no era capaz de arrancar correctamente.
Mi suerte dice que como hago un backup semanal (concretamente los viernes) el fallo se va a producir el jueves (ley de Murphy seal of approval) y por tanto a pesar de poder restaurar la BBDD desde los backups (actualizada al viernes anterior) intenté restaurar la BBDD desde el sistema de ficheros (que por suerte la partición de datos no se había visto muy afectada por el fallo de disco).
La verdad es que confiaba que esto fuera sencillo de realizar y más aún después de estar informándome en algunos foros.
Restauración de una BBDD desde el sistema de ficheros
MySQL, por lo menos en un servidor CentOS, almacena todos sus datos en la carpeta /var/lib/mysql.
Así, para la restauración, monté un nuevo servidor (vacío) donde restaurar la BBDD.
El proceso fue el siguiente:
- Instalar MySQL (yum install mysql mysql-dev)
- Copiar el contenido de la carpeta antigua /var/lib/mysql en la nueva carpeta.
- Cambiar el propietario y grupo de la nueva carpeta (chown -R mysql /var/lib/mysql y chgrp -R mysql /var/lib/mysql)
- Arrancar MySQL de nuevo (/etc/init.d/mysql start)
La verdad, que el resultado fue bastante bueno, pero a pesar de ello, he decidido cambiar los backups para que sean diarios y evitar sustos como estos.
Para ello, he descubierto un proyecto llamado AutoMySQLBackup que cubre todas mis necesidades:
- Backup diario, semanal y mensual
- Envio de logs por e-mail
- Posibilidad de backups remotos
- Sencillísimo de usar
Hacer un backup desde la consola:
mysqldump --user=user --password=password --opt DBNAME > dumpfile.sql
Restaurar un backup desde la consola:
mysql --user=user --password=password DBNAME < dumpfile.sql
Pues nada, una nueva experiencia que ha valido para descubrir la importancia de los backups y aprender algo más sobre MySQL y su sistema de almacenamiento de datos.
No hay comentarios:
Publicar un comentario