Cómo reparar una base de datos MySQL corrupta en Plesk (forzando reparación)
¿Por qué se corrompe una base de datos MySQL y cómo saberlo?
Si estás leyendo esto, probablemente has visto el temido error "Table is marked as crashed" o "Can't open file" al intentar acceder a tu sitio web o aplicación. No te preocupes, es un problema más común de lo que parece y, en la gran mayoría de los casos, tiene solución.
Una base datos corrupta en Plesk puede ocurrir por varias razones: un corte de luz inesperado, un fallo del servidor, un proceso que se cerró de forma forzada, falta de espacio en disco o incluso un error humano al editar registros manualmente. El resultado es que algunas tablas corruptas impiden que MySQL lea la información correctamente.
Antes de entrar en pánico, respira. En este artículo te voy a explicar, paso a paso y con un lenguaje muy claro, cómo reparar mysql forzando la reparación desde Plesk. No necesitas ser un experto en terminales ni tener conocimientos avanzados de bases de datos. Solo sigue las instrucciones con calma.
[INFO] Este tutorial está pensado para usuarios de Plesk Obsidian y versiones recientes. Si tu panel es muy antiguo, la interfaz puede variar ligeramente, pero la lógica es la misma.
Método 1: Reparación automática desde el panel de Plesk (La más fácil)
Plesk incluye una herramienta gráfica que te permite ejecutar check repair mysql sin tocar una sola línea de código. Es el primer método que debes probar, ya que es seguro y no requiere conocimientos técnicos.
Paso 1: Accede a tu panel de Plesk
Inicia sesión en tu panel de Plesk con tu usuario administrador o con el usuario que tenga permisos sobre la base de datos afectada. Normalmente accedes desde https://tu-dominio:8443.
Paso 2: Localiza la base de datos afectada
En el menú lateral izquierdo, busca la sección "Bases de datos". Haz clic en ella y verás un listado con todas tus bases de datos. Identifica la que te está dando problemas. Si no sabes cuál es, revisa los logs de errores de tu sitio web o contacta con tu proveedor de hosting.
Paso 3: Entra en la base de datos
Haz clic en el nombre de la base de datos para entrar en su gestión. Verás una lista de tablas. Si alguna está corrupta, Plesk suele mostrar un icono de advertencia o el estado "crashed" junto a ella.
Paso 4: Selecciona las tablas y repara
Aquí viene la parte importante:
- Marca la casilla de verificación junto al nombre de la tabla que aparece como corrupta. Si no sabes cuál es, puedes seleccionarlas todas.
- En el menú desplegable que aparece (normalmente dice "Seleccionar acción"), elige "Reparar" o "Check & Repair".
- Haz clic en el botón "Ejecutar" o "Aceptar".
Plesk ejecutará automáticamente el comando REPAIR TABLE en MySQL. Este proceso puede tardar unos segundos o unos minutos, dependiendo del tamaño de la tabla.
[TIP] Si solo una tabla está corrupta, te recomiendo reparar solo esa para no sobrecargar el servidor innecesariamente. Reparar todas las tablas de golpe puede ralentizar el sitio si la base de datos es muy grande.
Paso 5: Verifica el resultado
Después de ejecutar la reparación, Plesk te mostrará un mensaje de éxito o error. Si todo ha ido bien, el estado de la tabla cambiará a "OK" o desaparecerá el icono de advertencia. Intenta cargar tu sitio web de nuevo.
Método 2: Forzar la reparación con comandos SSH (El método avanzado)
Si el método anterior no funciona o la corrupción es más profunda, tendremos que usar la línea de comandos. No te asustes, es más fácil de lo que parece. Solo necesitas acceso SSH a tu servidor.
Paso 1: Conéctate al servidor por SSH
Usa un cliente SSH como PuTTY (en Windows) o la terminal (en Mac/Linux). Conéctate con tu usuario root o con un usuario que tenga privilegios de administración.
Paso 2: Accede a MySQL
Una vez dentro, ejecuta el siguiente comando para entrar en la consola de MySQL:
mysql -u root -p
Te pedirá la contraseña de root de MySQL. Si no la recuerdas, puedes buscarla en el archivo /etc/psa/.psa.shadow o cambiar la contraseña desde Plesk.
Paso 3: Selecciona la base de datos
Una vez dentro de MySQL, escribe el siguiente comando para seleccionar la base de datos afectada:
USE nombre_de_tu_base_de_datos;
Reemplaza nombre_de_tu_base_de_datos con el nombre real de tu base de datos.
Paso 4: Ejecuta el comando de reparación forzada
Ahora viene el truco. Para forzar la reparación de todas las tablas de la base de datos, ejecuta:
CHECK TABLE nombre_de_tu_tabla;
Esto te mostrará el estado de la tabla. Si aparece como "error", ejecuta:
REPAIR TABLE nombre_de_tu_tabla;
Pero si el error persiste, tendremos que ser más contundentes. Sal de MySQL escribiendo exit; y ejecuta este comando desde la terminal:
myisamchk -r /var/lib/mysql/nombre_de_tu_base_de_datos/nombre_de_tu_tabla.MYI
[WARNING] Este comando es para tablas MyISAM. Si tu base de datos usa InnoDB (el motor más común hoy en día), este comando no funcionará. En ese caso, continúa con el siguiente paso.
Paso 5: Forzar reparación con mysqlcheck (La solución definitiva)
mysqlcheck es una herramienta de línea de comandos que permite reparar tablas de forma forzada. Este es el método más eficaz para tablas corruptas en Plesk.
Desde la terminal (fuera de MySQL), ejecuta el siguiente comando:
mysqlcheck -u root -p --auto-repair --databases nombre_de_tu_base_de_datos
Este comando revisa y repara automáticamente todas las tablas de la base de datos. Si quieres forzar la reparación de una tabla específica, usa:
mysqlcheck -u root -p --auto-repair nombre_de_tu_base_de_datos nombre_de_tu_tabla
[TIP] Si el comando anterior te da error por permisos, prueba con
--forceal final:mysqlcheck -u root -p --auto-repair --force nombre_de_tu_base_de_datos. Esto ignora los errores y continúa con la reparación.
Método 3: Reparar desde phpMyAdmin (Intermedio)
Plesk incluye phpMyAdmin como herramienta de gestión de bases de datos. Este método es visual y no requiere terminal, pero es un poco más técnico que el primer método.
Paso 1: Abre phpMyAdmin
En Plesk, dentro de la base de datos afectada, haz clic en el botón "phpMyAdmin". Se abrirá una nueva pestaña en tu navegador.
Paso 2: Selecciona la base de datos
En el panel izquierdo de phpMyAdmin, haz clic en el nombre de tu base de datos para ver sus tablas.
Paso 3: Marca las tablas corruptas
Marca la casilla de verificación de las tablas que quieras reparar. Puedes seleccionarlas todas si no estás seguro.
Paso 4: Usa el menú desplegable
En la parte inferior, hay un menú desplegable que dice "Seleccionar todo" o "Con seleccionadas". Haz clic en él y elige la opción "Reparar tabla".
Paso 5: Espera el resultado
phpMyAdmin ejecutará la reparación y te mostrará una tabla con el resultado. Si el estado es "OK", el problema está resuelto.
¿Qué hacer si nada de esto funciona?
Si has probado todos los métodos y la base de datos sigue corrupta, hay dos opciones:
-
Restaurar una copia de seguridad: Plesk tiene un sistema de backups integrado. Ve a la sección "Copias de seguridad" y restaura la base de datos a un estado anterior donde funcionara correctamente. Ten en cuenta que perderás los cambios realizados desde esa copia.
-
Contactar con tu proveedor de hosting: Si no tienes copias de seguridad o el problema es demasiado complejo, el soporte técnico de tu hosting puede ayudarte a recuperar los datos o a reparar la estructura de la base de datos a nivel de servidor.
[WARNING] Nunca intentes eliminar y recrear la base de datos si no tienes una copia de seguridad reciente. Perderás toda la información de forma permanente.
Preguntas frecuentes (FAQ)
¿Cuánto tiempo tarda en repararse una base datos corrupta?
Depende del tamaño de la base de datos y del método utilizado. Una tabla pequeña puede repararse en segundos. Una base de datos con miles de registros puede tardar varios minutos. No interrumpas el proceso de reparación.
¿Puedo reparar una base de datos mientras mi sitio web está activo?
Técnicamente sí, pero es recomendable poner el sitio en modo mantenimiento o desactivarlo temporalmente. Si el sitio está escribiendo datos en la base de datos mientras se repara, puede causar más corrupción.
¿Cómo puedo prevenir futuras corrupciones?
La mejor prevención es tener copias de seguridad automáticas configuradas en Plesk. También es importante asegurarse de que el servidor tenga suficiente espacio en disco y que se apague correctamente.
¿Puedo reparar mysql desde Syspanel?
Si estás usando Syspanel (antes conocido como HestiaCP), recuerda que el acceso se realiza a través del puerto 2106. Aunque este panel es diferente a Plesk, los comandos de MySQL para reparar tablas son los mismos. Puedes usar mysqlcheck desde la terminal SSH de tu servidor con Syspanel.
¿Pierdo datos al reparar una tabla corrupta?
La reparación de MySQL intenta recuperar la mayor cantidad de datos posible, pero no hay garantía del 100%. En algunos casos, los datos corruptos se descartan para que la tabla pueda volver a funcionar. Por eso es tan importante tener copias de seguridad.
¿Qué diferencia hay entre CHECK y REPAIR en MySQL?
CHECK TABLE solo examina la tabla en busca de errores y te informa del estado. REPAIR TABLE intenta corregir los errores encontrados. Siempre es buena práctica hacer primero un CHECK y luego un REPAIR si hay errores.
Conclusión final
Reparar una base datos corrupta en Plesk no tiene por qué ser una pesadilla. Empieza siempre por el método más sencillo (el panel gráfico) y, si no funciona, ve escalando a los métodos más avanzados. La clave está en la paciencia y en no entrar en pánico.
Recuerda que la prevención es tu mejor aliada. Configura copias de seguridad automáticas en Plesk, monitorea el espacio en disco y evita cortes de energía bruscos en tu servidor.
[TIP] Si este artículo te ha sido útil, guárdalo en favoritos o compártelo con otros usuarios que puedan estar pasando por el mismo problema. Y si tienes dudas, deja un comentario en tu proveedor de hosting o foro de soporte. ¡Buena suerte con la reparación!
