Reparar base de datos corrupta en Plesk
¿Tu sitio web en Plesk se ha vuelto lento, muestra errores al acceder a la base de datos o directamente no carga? Es muy probable que estés enfrentando el temido problema de una base de datos corrupta. No entres en pánico. Es una situación más común de lo que crees y, por suerte, en la mayoría de los casos tiene solución.
En esta guía completa, te explicaré paso a paso cómo reparar base datos plesk, ya sea usando las herramientas integradas de Plesk o accediendo directamente al servidor MySQL/MariaDB. Incluso si no eres un experto técnico, podrás seguir estas instrucciones para recuperar tu información.
¿Por qué se corrompe una base de datos en Plesk?
Antes de lanzarnos a la reparación, es útil entender por qué ocurre esto. Las causas más frecuentes incluyen:
- Cortes de energía o apagados bruscos del servidor.
- Espacio en disco insuficiente (el servidor no puede escribir los datos correctamente).
- Errores de hardware (discos duros con sectores defectuosos).
- Versiones incompatibles de MySQL/MariaDB o actualizaciones fallidas.
- Ataques de seguridad o inyección SQL.
- Uso de plugins o temas defectuosos (muy común en WordPress).
Los síntomas más evidentes son mensajes como "Table 'nombre_tabla' is marked as crashed", "Can't open file: 'nombre_tabla.MYI' o simplemente un error 500 sin más detalles. Si ves algo así, es hora de actuar.
Paso 1: Identificar la base de datos afectada en Plesk
Lo primero es saber qué base de datos está fallando. Plesk te da pistas.
- Inicia sesión en tu panel de Plesk.
- Ve a la sección "Bases de datos" (normalmente en el menú de la izquierda, dentro de "Sitios web y dominios" o en un apartado dedicado).
- Revisa el estado de cada base de datos. Algunas versiones de Plesk muestran un icono de advertencia (un triángulo amarillo) junto a las bases de datos con problemas.
- También puedes revisar los logs de errores de tu sitio web. Busca en "Registros" > "Registro de errores" dentro del dominio afectado. Allí verás líneas como
[ERROR] /var/lib/mysql/tu_basededatos/tabla.MYI: Table is marked as crashed.
[TIP] Si tu sitio usa WordPress, puedes instalar un plugin como "Health Check & Troubleshooting" que a veces detecta y reporta estos problemas de base de datos.
Paso 2: Método rápido – Reparar desde el panel de Plesk (Recomendado para principiantes)
Plesk incluye una herramienta gráfica para reparar bases de datos sin tocar una línea de comando. Es la opción más segura si no te sientes cómodo con la terminal.
Pasos para usar el reparador de Plesk:
- En el panel de Plesk, ve a "Bases de datos".
- Haz clic en el nombre de la base de datos corrupta.
- Busca el botón o enlace que dice "Reparar" o "Repair". Si no lo ves directamente, puede estar dentro de un menú de acciones (tres puntos, engranaje, etc.).
- Plesk te preguntará qué tipo de reparación quieres realizar. Selecciona "Reparar base de datos" (o Repair Database). También puedes elegir "Comprobar" primero para ver el alcance del daño.
- Haz clic en "Aceptar" o "Ejecutar". El proceso puede tardar desde unos segundos hasta varios minutos, dependiendo del tamaño de la base de datos.
- Al finalizar, verás un mensaje de éxito o una lista de tablas reparadas.
[INFO] Esta herramienta ejecuta internamente comandos como mysqlcheck --repair o REPAIR TABLE. Es la misma acción que harías manualmente, pero con una interfaz amigable.
Paso 3: Método intermedio – Reparar con phpMyAdmin (desde Plesk)
Si el método rápido no funciona o prefieres más control, phpMyAdmin es tu aliado. Plesk suele tenerlo integrado.
- Dentro de la base de datos en Plesk, busca el botón "phpMyAdmin" o "Gestión de bases de datos". Se abrirá una nueva pestaña.
- En phpMyAdmin, selecciona la base de datos corrupta en el panel izquierdo.
- Verás la lista de todas las tablas. Si alguna está corrupta, aparecerá marcada como "in use" o "crashed".
- Opción A (Reparar todas las tablas): En la parte inferior de la lista de tablas, hay un checkbox para "Seleccionar todo". Marca todas las tablas. En el menú desplegable "Con seleccionados:", elige "Reparar tabla" (o Repair table).
- Opción B (Reparar una tabla específica): Haz clic en el nombre de la tabla corrupta. Luego, en el menú superior, ve a la pestaña "Operaciones". Busca la sección "Mantenimiento de tablas" y haz clic en "Reparar tabla".
- phpMyAdmin ejecutará el comando y te mostrará el resultado. Si todo sale bien, verás un mensaje verde: "La tabla está OK".
[WARNING] Si la base de datos es muy grande (varios GB), este método puede agotar el tiempo de ejecución de PHP. En ese caso, es mejor usar la línea de comandos.
Paso 4: Método avanzado – Reparar base datos Plesk por línea de comandos (SSH)
Este es el método más potente y recomendado para bases de datos grandes o daños complejos. Necesitarás acceso SSH a tu servidor.
Requisitos previos:
- Tener las credenciales de root o un usuario con permisos de sudo.
- Saber el nombre de la base de datos y el usuario de MySQL.
Comando básico de reparación:
-
Conéctate a tu servidor por SSH.
-
Ejecuta el siguiente comando, reemplazando
nombre_base_datospor el nombre real de tu base de datos:mysqlcheck -u root -p --auto-repair nombre_base_datos-u root: Usuario root de MySQL (si usas otro, cámbialo).-p: Te pedirá la contraseña de MySQL.--auto-repair: Intenta reparar automáticamente las tablas dañadas.nombre_base_datos: El nombre de tu base de datos.
-
Ingresa la contraseña cuando te la solicite. El comando revisará y reparará todas las tablas.
Reparar bases de datos de un cliente específico en Plesk:
Plesk suele crear un usuario de base de datos por cada suscripción. Si no recuerdas la contraseña root, puedes usar las credenciales del cliente. Encuéntralas en Plesk > Base de datos > "Acceder a phpMyAdmin" > allí verás el usuario y la contraseña en la URL (aunque no es lo más seguro, funciona).
Comando para reparar solo una tabla específica:
Si sabes que solo una tabla está corrupta, por ejemplo wp_posts, usa:
mysqlcheck -u root -p --auto-repair nombre_base_datos wp_posts
Reparar todas las bases de datos del servidor:
Si tienes múltiples sitios y no sabes cuál falla, puedes reparar todo de golpe (cuidado, puede consumir recursos):
mysqlcheck -u root -p --auto-repair --all-databases
[TIP] Si el comando mysqlcheck no funciona, prueba con mysqlcheck o mariadb-check (en servidores MariaDB). Son equivalentes.
Paso 5: ¿Y si la reparación falla? – Soluciones de emergencia
A veces, la corrupción es tan severa que los métodos anteriores no funcionan. No te rindas aún.
1. Forzar la reparación con opciones más agresivas:
Puedes usar el comando REPAIR TABLE directamente en la consola de MySQL con opciones extra.
REPAIR TABLE nombre_tabla USE_FRM;
Este comando intenta reconstruir la tabla usando el archivo .frm (que contiene la estructura de la tabla).
2. Crear una copia de seguridad y restaurar:
Si tienes una copia de seguridad reciente (¡y deberías tenerla!), este es el plan B.
- Desde Plesk: Ve a "Bases de datos" > [tu base] > "Exportar dump". Descarga el archivo .sql.
- Luego: Elimina la base de datos corrupta desde Plesk (cuidado, esto borra todo).
- Finalmente: Crea una nueva base de datos con el mismo nombre y usuario, e importa el dump descargado usando "Importar dump".
3. Recuperar datos con myisamchk (solo para tablas MyISAM):
Si tu base de datos usa el motor MyISAM (obsoleto pero aún presente en sitios viejos), puedes usar una herramienta de bajo nivel.
myisamchk --safe-recover /var/lib/mysql/nombre_base_datos/nombre_tabla.MYI
[WARNING] Este comando debe ejecutarse con el servidor MySQL detenido. Si no sabes cómo hacerlo, mejor no lo intentes y contacta a soporte.
Prevención: Cómo evitar futuras corrupciones
Una vez que hayas reparado tu base de datos, toma estas medidas para que no vuelva a ocurrir:
- Realiza copias de seguridad automáticas. En Plesk, ve a "Herramientas y ajustes" > "Programador de tareas" y programa un dump diario de tus bases de datos.
- Monitorea el espacio en disco. Si el disco se llena, tu base de datos se corromperá. Activa alertas de uso.
- Actualiza Plesk y los componentes de la base de datos periódicamente.
- Revisa los logs del servidor (en Plesk: "Herramientas y ajustes" > "Registros de salud del servidor") para detectar errores de hardware.
- Usa el motor InnoDB en lugar de MyISAM. InnoDB es mucho más tolerante a fallos y se recupera automáticamente tras un corte. Puedes cambiar el motor desde phpMyAdmin en la pestaña "Operaciones" de cada tabla.
Preguntas Frecuentes (FAQ)
¿Puedo reparar una base de datos sin perder datos?
Sí, reparar base datos plesk con los métodos descritos (mysqlcheck, phpMyAdmin, comando REPAIR) intenta recuperar la mayor cantidad de datos posible. Sin embargo, en casos extremos, algunas filas de datos corruptos pueden perderse. Por eso es vital tener copias de seguridad.
¿Qué hago si el error persiste después de reparar?
Prueba a reiniciar el servicio de MySQL/MariaDB desde Plesk: "Herramientas y ajustes" > "Servicios" > "MySQL" > "Reiniciar". Si sigue fallando, el problema puede ser de hardware (disco duro) o de configuración del servidor. Contacta a tu proveedor de hosting.
¿Cómo saber si mi base de datos usa MyISAM o InnoDB?
Desde phpMyAdmin, selecciona la base de datos. En la pestaña "Estructura", verás una columna llamada "Motor" o "Engine". Allí aparecerá "MyISAM" o "InnoDB".
¿Reparar la base de datos afecta el rendimiento del sitio?
Sí, durante el proceso de reparación, el servidor MySQL consumirá más CPU y RAM. Por eso es recomendable hacerlo en horas de bajo tráfico (por la noche, por ejemplo).
¿Puedo usar este mismo proceso si mi hosting usa Syspanel (HestiaCP)?
Sí, los conceptos son los mismos. En Syspanel (HestiaCP), el acceso a phpMyAdmin y la línea de comandos son idénticos. La diferencia es que el panel de Syspanel se accede por el puerto 2106 (ejemplo: https://tudominio.com:2106). Una vez dentro, busca la sección "Bases de datos" y sigue los pasos del método 2 o 3.
Resumen final
Reparar una base de datos corrupta en Plesk no es una tarea de otro mundo. Siguiendo estos pasos, desde la interfaz gráfica hasta la línea de comandos, podrás recuperar tu sitio web en la mayoría de los casos. Recuerda siempre:
- Identifica la base de datos afectada.
- Usa el reparador de Plesk como primer intento.
- Si falla, prueba con phpMyAdmin.
- Para casos complejos, accede por SSH con
mysqlcheck --auto-repair. - Ten siempre una copia de seguridad actualizada.
Si después de todo esto el problema persiste, no dudes en contactar al soporte técnico de tu hosting. Ellos tienen herramientas más avanzadas y acceso directo al servidor. ¡Buena suerte y espero que tu base de datos se recupere sin problemas!
