🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Cómo reparar una base de datos MySQL dañada en PrestaShop (cPanel)

Actualizado el 31 de marzo de 2026

¡Hola! Soy tu técnico de soporte amigable. Si estás leyendo esto, seguramente te has encontrado con un mensaje de error en tu tienda PrestaShop, algo como "Error de conexión a la base de datos" o directamente la página en blanco. No te preocupes, es un problema más común de lo que parece y, en la mayoría de los casos, tiene solución.

En esta guía extensa y paso a paso, te voy a enseñar cómo reparar una base de datos MySQL dañada en PrestaShop desde cPanel. Vamos a abordar desde los síntomas más comunes hasta las soluciones más efectivas, incluyendo el uso de herramientas automáticas y comandos manuales. Al final, también responderé a las preguntas más frecuentes sobre este tema.


¿Por qué se daña una base de datos de PrestaShop?

Antes de meternos en materia, es útil entender por qué ocurre esto. Una base de datos MySQL puede corromperse por varias razones:

  • Cortes de energía o apagones inesperados: Si el servidor se apaga mientras se está escribiendo en la base de datos, los archivos pueden quedar incompletos.
  • Errores de hardware: Discos duros defectuosos o con sectores dañados pueden corromper los datos.
  • Errores de software o plugins: Un módulo de PrestaShop mal programado o una actualización fallida puede dejar tablas en un estado inconsistente.
  • Límite de recursos del servidor: Si el servidor se queda sin memoria o espacio en disco durante una operación crítica, la base de datos puede dañarse.
  • Conexiones simultáneas excesivas: Un pico de visitas puede saturar el motor de la base de datos.

Los síntomas más comunes son:

  • Página en blanco (White Screen of Death) en el front-end o back-end de PrestaShop.
  • Mensajes de error como "Error de conexión a la base de datos", "Tabla 'xxxx' no existe" o "El motor de almacenamiento InnoDB no funciona".
  • Productos, categorías o pedidos que no se muestran correctamente.
  • Errores al intentar acceder al panel de administración de PrestaShop.

Herramientas de diagnóstico: ¿Cómo saber si mi base de datos está dañada?

Antes de lanzarnos a reparar, debemos confirmar el problema. cPanel nos ofrece dos herramientas excelentes para esto.

1. phpMyAdmin: El ojo clínico de MySQL

phpMyAdmin es una interfaz web para gestionar bases de datos MySQL. Está disponible en la mayoría de los paneles de control de hosting.

Pasos para acceder y verificar:

  1. Inicia sesión en tu cPanel.
  2. Busca la sección Bases de Datos y haz clic en phpMyAdmin.
  3. En la columna de la izquierda, selecciona la base de datos de tu PrestaShop. Normalmente tiene un prefijo como tuusuario_prestashop o algo similar.
  4. Una vez dentro, verás una lista con todas las tablas de tu tienda (por ejemplo, ps_product, ps_orders, ps_customer, etc.).
  5. Mira la columna "Estado". Si ves algún mensaje en rojo como "In use", "Error", "Crash" o "Table is marked as crashed", tienes una tabla dañada.

[WARNING] No modifiques nada directamente en phpMyAdmin si no estás seguro de lo que haces. Cualquier cambio erróneo puede empeorar el problema. Limítate a diagnosticar por ahora.

2. La herramienta de "Verificar base de datos" en cPanel

Algunos hostings ofrecen una opción directa para verificar la integridad de la base de datos.

  1. En tu cPanel, busca la sección Bases de Datos y haz clic en MySQL Databases (o "Bases de Datos MySQL").
  2. Desplázate hacia abajo hasta encontrar la sección "Verificar base de datos" (o "Check Database").
  3. Selecciona tu base de datos de PrestaShop de la lista desplegable y haz clic en "Verificar base de datos".
  4. El sistema te mostrará un informe. Si hay tablas dañadas, te lo indicará.

Método 1: Reparar la base de datos desde phpMyAdmin (El más fácil y rápido)

Este es el método recomendado para la mayoría de los usuarios, ya que es muy visual y no requiere conocimientos de comandos.

Pasos a seguir:

  1. Accede a phpMyAdmin siguiendo los pasos anteriores.
  2. Selecciona tu base de datos de PrestaShop en la columna izquierda.
  3. Marca la casilla de verificación en la parte superior de la lista de tablas para seleccionar todas las tablas.
  4. En el menú desplegable que dice "Con seleccionados:" (o "With selected:"), elige la opción "Reparar tabla" (o "Repair table").
  5. phpMyAdmin ejecutará el comando REPAIR TABLE en todas las tablas. Verás una serie de mensajes como status: OK o status: Table is already up to date.
  6. ¡Listo! En la mayoría de los casos, esto soluciona el problema. Ahora puedes volver a tu tienda PrestaShop y recargar la página.

[TIP] Si no quieres reparar todas las tablas, puedes seleccionar solo aquellas que aparecen con un estado de error. Sin embargo, reparar todas no tiene ningún efecto negativo y es una buena práctica de mantenimiento.


Método 2: Reparar la base de datos desde la línea de comandos (SSH) (Para usuarios avanzados)

Si el método anterior no funciona o si tu hosting te da acceso SSH, podemos usar comandos más potentes. Necesitarás los datos de conexión a tu base de datos, que puedes encontrar en el archivo /app/config/parameters.php de tu instalación de PrestaShop.

Pasos a seguir:

  1. Conéctate a tu servidor por SSH usando un cliente como PuTTY (Windows) o la terminal (Mac/Linux).

  2. Una vez dentro, escribe el siguiente comando para acceder a MySQL:

    mysql -u TU_USUARIO -p
    

    Te pedirá la contraseña de la base de datos. Escríbela y presiona Enter.

  3. Ahora, selecciona tu base de datos con el comando:

    USE nombre_de_tu_base_de_datos;
    
  4. Para reparar todas las tablas de una sola vez, puedes ejecutar el siguiente comando:

    REPAIR TABLE `tu_prefijo_de_tabla`%;
    

    Ejemplo: Si tus tablas empiezan por ps_, el comando sería REPAIR TABLE ps_%;

    Alternativa más segura: Para reparar tabla por tabla, primero identifica las dañadas:

    CHECK TABLE nombre_de_la_tabla;
    

    Si el resultado muestra Msg_text: Table is marked as crashed, entonces repara esa tabla específica:

    REPAIR TABLE nombre_de_la_tabla;
    

    Repite esto para cada tabla que esté dañada.

  5. Una vez terminado, sal de MySQL escribiendo EXIT; y luego cierra la sesión SSH.

[WARNING] El acceso SSH es muy potente. Asegúrate de escribir los comandos exactamente como se muestran. Un error tipográfico podría causar problemas.


Método 3: Usar la herramienta de reparación desde cPanel (La opción "Check All")

Algunos paneles de control de hosting, como los que usan Syspanel (HestiaCP, recuerda que el puerto de acceso es el 2106), tienen herramientas integradas. Sin embargo, en cPanel la opción más directa es la que ya vimos en phpMyAdmin. Pero hay un truco adicional:

  1. Ve a phpMyAdmin.
  2. En la pantalla principal, justo debajo del nombre de tu base de datos, hay un enlace que dice "Verificar privilegios" (o "Check privileges"). No es eso.
  3. Lo que buscas es, dentro de tu base de datos, en la pestaña "Estructura", justo encima de la lista de tablas, hay un enlace que dice "Marcar todas" (o "Check All"). Al lado hay un desplegable. Selecciona "Reparar tabla" (como en el Método 1). Es la misma opción, pero desde la vista de estructura.

En resumen, el Método 1 es el estándar de oro para reparar una base de datos desde cPanel.


¿Qué hago si la reparación falla? (Soluciones avanzadas)

Si después de intentar los métodos anteriores el error persiste, el problema puede ser más grave. Aquí tienes algunas opciones adicionales:

1. Reparar tablas InnoDB (El motor más común en PrestaShop 1.7+)

PrestaShop moderno usa el motor InnoDB. A veces, la reparación simple no es suficiente.

  1. Accede a phpMyAdmin.

  2. Ve a la pestaña "SQL" de tu base de datos.

  3. Ejecuta el siguiente comando para forzar una recuperación:

    ALTER TABLE nombre_de_la_tabla ENGINE=InnoDB;
    

    Esto reconstruye la tabla. Repite para cada tabla problemática.

2. Optimizar la base de datos

A veces, una tabla no está "rota" sino muy fragmentada, lo que puede causar errores similares.

  1. En phpMyAdmin, selecciona todas las tablas.
  2. En el menú desplegable, elige "Optimizar tabla" (u "Optimize table").
  3. Esto reorganiza el almacenamiento físico y puede resolver problemas de rendimiento que se confunden con corrupción.

3. Restaurar desde una copia de seguridad (El último recurso)

Si nada funciona, la solución definitiva es restaurar una copia de seguridad reciente de tu base de datos.

  1. En cPanel, ve a la sección Archivos y haz clic en "Backup" o "Copias de seguridad".
  2. Busca la sección "Descargar una copia de seguridad de la base de datos MySQL" y descarga el archivo .sql más reciente.
  3. Luego, ve a phpMyAdmin, selecciona tu base de datos, ve a la pestaña "Importar" y sube el archivo .sql que descargaste.
  4. Esto reemplazará toda la base de datos actual con la copia. Perderás los datos creados desde la fecha de la copia de seguridad (pedidos, clientes, etc.), pero tu tienda volverá a funcionar.

[WARNING] Siempre, siempre haz una copia de seguridad de tu base de datos antes de intentar cualquier reparación. Es tu red de seguridad.


Preguntas Frecuentes (FAQ)

¿Cada cuánto debo reparar mi base de datos de PrestaShop?

No es necesario hacerlo de forma periódica a menos que tengas problemas. Sin embargo, es una buena práctica optimizarla una vez al mes para mantener el rendimiento. La reparación solo se hace cuando hay un error.

¿Reparar la base de datos borra mis productos o pedidos?

No, reparar o optimizar una tabla no elimina ningún dato. Simplemente corrige la estructura interna del archivo. Es un proceso seguro.

¿Puedo usar un plugin de PrestaShop para reparar la base de datos?

Sí, existen módulos como "MySQL Repair & Optimize" que automatizan este proceso. Sin embargo, si el error es tan grave que no puedes acceder al back-end de PrestaShop, necesitarás usar cPanel o phpMyAdmin.

Mi hosting usa Syspanel (HestiaCP). ¿Cómo accedo a phpMyAdmin?

Si tu panel de control es Syspanel (HestiaCP), el acceso es un poco diferente. Primero, accede a tu panel a través del puerto 2106 (ejemplo: https://tudominio.com:2106). Luego, busca la sección "Bases de datos" y haz clic en el icono de phpMyAdmin junto a tu base de datos. El resto del proceso de reparación es idéntico al descrito en esta guía.

¿Qué significa "Table is marked as crashed and should be repaired"?

Es el mensaje de error más común. Significa que la tabla tiene una corrupción interna. El procedimiento de reparación (Método 1) está diseñado específicamente para solucionar este estado.

¿Puedo evitar que la base de datos se dañe en el futuro?

Puedes reducir el riesgo:

  • Realiza copias de seguridad automáticas (la mayoría de los hostings lo ofrecen).
  • Actualiza PrestaShop y sus módulos a las últimas versiones.
  • Evita instalar módulos de fuentes no confiables.
  • Contrata un hosting de calidad con un buen tiempo de actividad y protección contra cortes de energía.
  • Configura un sistema de caché (como Redis o Memcached) para reducir la carga en la base de datos.

Conclusión

Reparar una base de datos MySQL dañada en PrestaShop desde cPanel es un proceso que, aunque suene técnico, es bastante accesible si sigues los pasos correctos. La mayoría de las veces, un simple "Reparar tabla" desde phpMyAdmin resuelve el problema en segundos.

Recuerda que la prevención es clave: mantén copias de seguridad periódicas y un hosting estable. Si alguna vez te encuentras con este problema, respira hondo, abre esta guía y sigue los pasos. Estoy seguro de que podrás recuperar tu tienda.

Si después de todo esto el problema persiste, no dudes en contactar con el soporte técnico de tu hosting. Ellos tienen acceso a herramientas más avanzadas y pueden ayudarte a diagnosticar si el problema es a nivel de servidor.

¡Espero que esta guía te haya sido de gran ayuda! Ahora ya sabes cómo enfrentarte a un mysql corrupto prestashop y cómo reparar tablas mysql prestashop de manera efectiva.

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel