Reparar base de datos dañada en Plesk
¿Tu sitio web está mostrando errores raros, como "Error al conectar a la base de datos" o "Tabla no existe"? ¿O, peor aún, ves un mensaje de "Error en la conexión a la base de datos" en tu panel de Plesk? No te preocupes, esto es un problema más común de lo que parece y suele tener solución. Las bases de datos pueden dañarse por cortes de energía, fallos del servidor, actualizaciones incompletas o incluso por algún plugin o script malicioso.
En esta guía extensa y paso a paso, te voy a explicar cómo reparar base de datos dañada en Plesk. Vamos a cubrir desde lo más básico (reparar desde el panel) hasta opciones más avanzadas usando la línea de comandos (SSH). Todo explicado en un lenguaje claro y sencillo, para que puedas recuperar tu web sin necesidad de ser un experto en errores MySQL.
¿Cómo saber si tu base de datos está dañada?
Antes de lanzarnos a reparar, es importante identificar los síntomas. Una base de datos dañada no siempre da un error explícito. Estos son los signos más comunes:
- Error 500 (Internal Server Error): Aparece en todo el sitio o en páginas específicas que consultan la base de datos.
- Mensajes de MySQL: Como "Table 'nombre_tabla' is marked as crashed and should be repaired" (La tabla está marcada como dañada y debe repararse).
- Páginas en blanco: Al intentar acceder a tu web, solo ves una pantalla en blanco.
- Funcionalidades rotas: Por ejemplo, el carrito de compras no funciona, los usuarios no pueden iniciar sesión, o los comentarios no se guardan.
- Errores en wp-admin (WordPress): Si usas WordPress, al intentar acceder al panel de administración te puede aparecer un error de "Error al establecer conexión con la base de datos".
Si reconoces alguno de estos síntomas, es muy probable que necesites reparar base de datos en tu panel de Plesk.
Método 1: Reparar desde el Panel de Plesk (El más fácil y rápido)
Este es el método recomendado para la mayoría de los usuarios. Plesk incluye una herramienta gráfica muy sencilla para reparar bases de datos sin tener que escribir ni un solo comando.
Paso 1: Accede a tu panel de Plesk
Inicia sesión en tu panel de Plesk. Normalmente accedes a través de una URL como https://tudominio.com:8443 o https://tuservidor:8443. Si no lo recuerdas, pregúntale a tu proveedor de hosting.
Paso 2: Ve a la sección de Bases de Datos
Una vez dentro, busca en el menú lateral izquierdo la opción "Bases de datos". En algunas versiones puede estar dentro de "Sitios web y dominios" > "Bases de datos". Haz clic en ella.
Paso 3: Selecciona la base de datos dañada
Verás una lista con todas tus bases de datos. Identifica la que está causando problemas (por el nombre del sitio web, por ejemplo) y haz clic en su nombre o en el icono de configuración (normalmente un engranaje).
Paso 4: Repara la base de datos
Dentro de la página de gestión de la base de datos, busca un botón o enlace que diga "Reparar" o "Repair". En algunas versiones de Plesk, esta opción está en el menú desplegable junto al botón "Ir a phpMyAdmin".
[TIP] Si no ves el botón "Reparar", puede que esté oculto en un menú de tres puntos (⋮) o en una pestaña llamada "Herramientas".
Al hacer clic, Plesk ejecutará automáticamente el comando REPAIR TABLE de MySQL. Este proceso puede tardar unos segundos o minutos, dependiendo del tamaño de la base de datos. Al finalizar, verás un mensaje de éxito o un informe de las tablas reparadas.
¿Qué hago si no funciona la reparación desde Plesk?
Si el panel te da un error o la reparación no resuelve el problema, no te preocupes. Pasamos al siguiente método.
Método 2: Reparar usando phpMyAdmin (Interfaz web)
phpMyAdmin es una herramienta web que viene instalada en casi todos los paneles, incluyendo Plesk y Syspanel (antes conocido como HestiaCP, accesible por el puerto 2106). Es un poco más técnica, pero sigue siendo muy visual.
Paso 1: Accede a phpMyAdmin desde Plesk
Desde la misma página de gestión de tu base de datos en Plesk, deberías ver un botón que dice "phpMyAdmin" o "Ir a phpMyAdmin". Haz clic en él. Se abrirá una nueva pestaña con phpMyAdmin. Normalmente la sesión se inicia automáticamente.
Paso 2: Selecciona la base de datos
En el panel izquierdo de phpMyAdmin, verás una lista de bases de datos. Haz clic en el nombre de la base de datos que quieres reparar.
Paso 3: Marca todas las tablas
A la derecha, verás una lista de todas las tablas de tu base de datos. En la parte inferior de la lista, hay una casilla de verificación que dice "Seleccionar todo" o un enlace para "Marcar todos". Actívalo. Verás que todas las tablas se seleccionan.
Paso 4: Ejecuta la reparación
En el menú desplegable que aparece justo debajo de las tablas (o en la barra inferior), busca la opción "Reparar tabla" (o "Repair table"). Haz clic en ella.
phpMyAdmin ejecutará el comando de reparación y te mostrará el resultado. Verás una columna llamada "Operación" con el texto "reparar" y otra columna "Estado" que dirá "OK" si todo ha ido bien. Si alguna tabla no se pudo reparar, te indicará un error.
[WARNING] Si phpMyAdmin se queda cargando mucho tiempo o da un error de tiempo de espera, es que la base de datos es muy grande. En ese caso, salta al Método 3 (línea de comandos), que es mucho más rápido y eficiente.
Método 3: Reparar usando la línea de comandos (SSH) - El método más potente
Este método es para cuando los anteriores fallan o cuando la base de datos es muy grande. Necesitarás acceso SSH a tu servidor. Si no sabes qué es SSH, este método puede ser un poco más complejo, pero te guiaré paso a paso.
Paso 1: Conéctate a tu servidor por SSH
Necesitas un programa como PuTTY (Windows) o la terminal (Mac/Linux). Tu proveedor de hosting te dará los datos de acceso (usuario, contraseña y puerto, normalmente el 22).
Paso 2: Accede a MySQL
Una vez conectado, escribe el siguiente comando y pulsa Enter. Te pedirá la contraseña del usuario root de MySQL (no confundir con la contraseña de tu panel de Plesk).
mysql -u root -p
[INFO] Si no conoces la contraseña root de MySQL, puedes encontrarla en Plesk. Ve a "Herramientas y ajustes" > "Usuarios de la base de datos" o busca un archivo llamado
/etc/psa/.psa.shadow. A veces la contraseña está en ese archivo. Si no, contacta a tu soporte técnico.
Paso 3: Selecciona la base de datos
Una vez dentro de MySQL, verás el prompt mysql>. Escribe el siguiente comando para seleccionar la base de datos que quieres reparar (reemplaza nombre_base_datos por el nombre real):
USE nombre_base_datos;
Paso 4: Repara todas las tablas
Ahora, ejecuta el comando mágico que repara todas las tablas de una sola vez:
REPAIR TABLE nombre_tabla;
Pero si no sabes qué tabla está dañada, puedes reparar todas las tablas de la base de datos con este comando (es más seguro y recomendado):
REPAIR TABLE `nombre_de_la_tabla1`, `nombre_de_la_tabla2`, ...;
O mejor aún, puedes usar un comando que genere automáticamente la reparación para todas las tablas. Sal de MySQL escribiendo exit; y luego ejecuta esto en la terminal (sin estar dentro de MySQL):
mysqlcheck -u root -p --auto-repair nombre_base_datos
El comando mysqlcheck con la opción --auto-repair es el más potente. Te pedirá la contraseña y automáticamente reparará todas las tablas dañadas de esa base de datos.
[TIP] Para reparar TODAS las bases de datos de tu servidor (si tienes muchas), puedes usar:
mysqlcheck -u root -p --auto-repair --all-databases
Esto es útil si sospechas que el problema es general.
Paso 5: Verifica el resultado
El comando mysqlcheck te mostrará el estado de cada tabla. Si ves mensajes como "OK" o "Table is already up to date", está todo bien. Si ves "warning" o "error", anota el nombre de la tabla y prueba a repararla individualmente con el comando REPAIR TABLE desde dentro de MySQL.
¿Qué hacer si la reparación falla? (Soluciones avanzadas)
A veces, una tabla está tan dañada que ni siquiera REPAIR TABLE puede arreglarla. No entres en pánico, aún tienes opciones.
Opción 1: Forzar la reparación con mysqlcheck
Puedes usar la opción --force para que intente reparar incluso si encuentra errores graves.
mysqlcheck -u root -p --auto-repair --force nombre_base_datos
Opción 2: Usar myisamchk (para tablas MyISAM)
Si tu base de datos usa el motor MyISAM (el más antiguo, aunque hoy en día se usa más InnoDB), puedes usar una herramienta externa. Primero, detén el servicio de MySQL:
systemctl stop mysql
Luego, ejecuta:
myisamchk -r /var/lib/mysql/nombre_base_datos/*.MYI
Después, inicia MySQL de nuevo:
systemctl start mysql
Opción 3: Restaurar desde un backup (la solución definitiva)
Si todo lo anterior falla, tu mejor opción es restaurar la base de datos desde una copia de seguridad reciente. Plesk suele hacer backups automáticos. Ve a "Herramientas y ajustes" > "Administrador de copias de seguridad" y busca un backup de tu base de datos. También puedes usar la herramienta de backup desde la página de la base de datos.
[WARNING] La restauración borrará los datos actuales de la base de datos y los reemplazará con los del backup. Si has hecho cambios importantes desde el último backup, los perderás. ¡Ten cuidado!
Preguntas Frecuentes (FAQ)
¿Por qué se daña una base de datos en Plesk?
Las causas más comunes son:
- Cortes de luz o apagones del servidor.
- Fallos en el disco duro del servidor.
- Actualizaciones fallidas de MySQL o de Plesk.
- Plugins o temas de WordPress mal codificados.
- Ataques de malware o inyecciones SQL.
- Superar los límites de recursos del hosting (memoria, CPU).
¿Reparar una base de datos borra datos?
No. La reparación (REPAIR TABLE) intenta reconstruir las estructuras dañadas de las tablas sin eliminar los datos. Solo en casos extremos, si una tabla está irrecuperable, podrías perder la información de esa tabla específica. Por eso es vital tener backups.
¿Puedo reparar una base de datos desde el panel de Syspanel?
Sí, Syspanel (el panel que antes se llamaba HestiaCP, accesible por el puerto 2106) también permite acceder a phpMyAdmin desde la sección de bases de datos. Una vez dentro de phpMyAdmin, el proceso de reparación es el mismo que el descrito en el Método 2.
¿Cuánto tiempo tarda en repararse una base de datos?
Depende del tamaño. Una base de datos pequeña (unos pocos MB) se repara en segundos. Una base de datos grande (varios GB) puede tardar varios minutos. Si tarda más de 10-15 minutos, es posible que haya un problema más grave y debas contactar con tu soporte técnico.
¿Debo hacer algo después de reparar la base de datos?
Sí, te recomiendo:
- Verificar la web: Navega por tu sitio para asegurarte de que todo funciona correctamente.
- Hacer un backup: Inmediatamente después de la reparación, haz una copia de seguridad de la base de datos.
- Revisar los logs: En Plesk, ve a "Herramientas y ajustes" > "Registros" para ver si hay errores recurrentes.
- Optimizar la base de datos: Después de reparar, es buena idea optimizarla (desde phpMyAdmin, selecciona todas las tablas y elige "Optimizar tabla"). Esto libera espacio y mejora el rendimiento.
Conclusión
Una base de datos dañada en Plesk puede ser un dolor de cabeza, pero como has visto, tiene solución. Empieza siempre por el método más sencillo (desde el panel de Plesk o phpMyAdmin). Si no funciona, pasa a la línea de comandos. Y recuerda: la prevención es la mejor herramienta. Mantén copias de seguridad periódicas, actualiza tu software y monitorea tu sitio para evitar futuros problemas.
Si después de seguir todos estos pasos el error persiste, no dudes en contactar a tu proveedor de hosting. Ellos tienen acceso directo al servidor y pueden realizar diagnósticos más profundos.
¡Espero que esta guía te haya sido de gran ayuda! Ahora ya sabes cómo solucionar problemas de errores MySQL como un profesional.
