Saltar al contenido

Base de Datos Corrupta: Cómo Recuperar tus Datos

Volver al blog
4 min de lectura2 visitas

Si la web se rompió justo después de un cambio de hosting o servidor, mira antes cómo recuperar una web tras una migración fallida. Esta guía es para cuando la base de datos falla sin que hayas movido nada.

No todo está perdido

Tu web da errores raros, faltan datos o directamente no conecta con la base de datos. Es un momento de pánico, pero casi siempre tiene solución si actúas bien.

Síntomas de base de datos corrupta

  • Error "Error establishing database connection"
  • Páginas que cargan parcialmente
  • Datos que desaparecen
  • Errores SQL en pantalla

Pasos de recuperación

1. No hagas cambios

Podrías empeorar la situación.

2. Intenta reparar desde phpMyAdmin

  1. Accede a phpMyAdmin
  2. Selecciona tu base de datos
  3. Marca todas las tablas
  4. Elige "Reparar tabla" en el desplegable

3. Usa WP-CLI si tienes acceso SSH

wp db repair

4. Restaura backup

Si tienes backup reciente, es la opción más segura.

Lo primero: copia antes de reparar

Esto es lo que más nos encontramos y lo que más caro sale. Las herramientas de reparación modifican la base de datos, y si van mal pueden dejarla peor de lo que estaba. Una reparación fallida sobre la única copia que tenías es cómo se pierden los datos de verdad.

Antes de ejecutar nada, saca un volcado del estado actual, aunque esté roto:

mysqldump -u USUARIO -p --single-transaction --quick BASE_DE_DATOS > copia-antes-de-reparar.sql

Si el volcado falla por la corrupción, cópiate directamente los ficheros de la carpeta de datos de MySQL con el servicio parado. Guárdalo aparte y no lo toques.

Averigua qué motor usan tus tablas

De esto depende todo lo demás, y casi ninguna guía lo menciona:

SELECT table_name, engine FROM information_schema.tables WHERE table_schema = 'TU_BASE_DE_DATOS';
  • MyISAM sí se repara con REPAIR TABLE y con la opción de reparar de phpMyAdmin.
  • InnoDB no. Y es el motor por defecto desde hace años, así que lo más probable es que sea el tuyo. En InnoDB, REPAIR TABLE no hace nada útil y puede darte una falsa sensación de que ya está resuelto.

Si tus tablas son InnoDB

El camino es distinto. Se arranca MySQL en modo de recuperación forzada, se extraen los datos y se reconstruye la base:

  1. Añade innodb_force_recovery = 1 en la configuración de MySQL y reinicia el servicio.
  2. Si arranca, haz el volcado inmediatamente. Ya tienes los datos a salvo.
  3. Si no arranca, sube el valor de uno en uno hasta 6. Aviso importante: a partir de 4 las operaciones pueden destruir datos de forma permanente. Sube solo lo justo para conseguir el volcado y ni un punto más.
  4. Con el volcado en la mano, crea una base de datos limpia, impórtalo, y quita luego innodb_force_recovery de la configuración.

Si es WordPress: la reparación integrada

WordPress trae una herramienta de reparación que viene desactivada de fábrica. Se activa añadiendo una línea a wp-config.php:

define( 'WP_ALLOW_REPAIR', true );

Después entra en tudominio.com/wp-admin/maint/repair.php. Ojo: esa página no pide contraseña mientras la constante esté activa, precisamente para que funcione cuando no puedes ni entrar al panel. Por eso hay que quitar la línea en cuanto termines, o dejas abierta una puerta a cualquiera.

Cuándo parar y pedir ayuda

Hay tres señales de que seguir tú por tu cuenta va a salir más caro que la factura de alguien que lo haga:

  • El error menciona el tablespace o el fichero ibdata1: eso es corrupción a nivel de motor, no de una tabla suelta.
  • MySQL no arranca ni con innodb_force_recovery a 6.
  • No tienes ninguna copia de seguridad reciente. Aquí cada intento a ciegas reduce lo que se puede rescatar.

En esos tres casos, cuanto menos toques, más datos se recuperan. Si estás ahí, escríbenos a soporte urgente antes de probar nada más.

Prevención

  • Backups diarios de la base de datos
  • Optimización periódica
  • Hosting con backups automáticos

¿No puedes recuperar tu base de datos? Contacta para asistencia urgente. Para evitar este tipo de sustos, nuestros planes de mantenimiento incluyen backups diarios automáticos.

Equipo Codanter

Desarrollo web, IA y automatización

Solicitar presupuesto

¿Te Gusta Cómo Trabajamos?

Cuéntanos tu idea, aunque sea en una servilleta. Te respondemos en menos de 24 horas con un presupuesto claro y sin rodeos. Sin compromiso, sin letra pequeña.