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

Cómo reparar una base de datos en PrestaShop desde DirectAdmin

Actualizado el 7 de abril de 2026

¿Tu tienda PrestaShop se ha vuelto lenta, muestra errores extraños o directamente no carga? No entres en pánico. En la mayoría de los casos, el problema está en la base de datos. Como técnico de soporte, te guiaré paso a paso para reparar tu base de datos de PrestaShop usando DirectAdmin, una de las herramientas de gestión de hosting más comunes. Este proceso es seguro si sigues las instrucciones al pie de la letra, y no necesitas ser un experto en MySQL para realizarlo.

¿Por qué se dañan las bases de datos en PrestaShop?

Antes de lanzarnos a la reparación, es útil entender qué puede estar causando el problema. Las bases de datos de PrestaShop pueden corromperse por varias razones:

  • Cortes de energía o apagones inesperados: Si el servidor se apaga mientras se escribe en la base de datos, los archivos pueden quedar incompletos.
  • Errores en módulos o temas: Un módulo mal codificado puede ejecutar consultas SQL defectuosas que dañen tablas.
  • Actualizaciones incompletas: Si una actualización de PrestaShop o de un módulo se interrumpe, la estructura de la base de datos puede quedar inconsistente.
  • Problemas de espacio en disco: Cuando el disco del servidor está lleno, las operaciones de escritura fallan y pueden corromper datos.
  • Sobrecarga del servidor: Muchas conexiones simultáneas pueden forzar la base de datos y causar errores temporales o permanentes.

Los síntomas más comunes son: el famoso error "Base de datos no se puede conectar", tablas que aparecen como "en uso" o "bloqueadas", o mensajes como "MySQL server has gone away". Si ves esto, es hora de actuar.

Preparación antes de reparar: La copia de seguridad es tu mejor amiga

[WARNING] NUNCA intentes reparar una base de datos sin antes hacer una copia de seguridad. Si algo sale mal durante la reparación, podrías perder toda tu información. La copia de seguridad es tu red de seguridad.

Sigue estos pasos para crear una copia de seguridad desde DirectAdmin:

  1. Accede a DirectAdmin: Ingresa con tu usuario y contraseña (normalmente te los proporcionó tu proveedor de hosting).
  2. Busca la sección "Administrador de bases de datos MySQL": Suele estar en el panel principal, bajo el nombre de "MySQL Management" o "Bases de datos MySQL".
  3. Selecciona tu base de datos de PrestaShop: Verás una lista con todas las bases de datos que tienes. Identifica la de tu tienda (normalmente tiene un nombre como usuario_prestashop).
  4. Haz clic en "phpMyAdmin": Junto al nombre de la base de datos, verás un enlace o icono que te lleva a phpMyAdmin. Esta es la herramienta que usaremos para la reparación.
  5. Exporta la base de datos:
    • En phpMyAdmin, selecciona tu base de datos en el panel izquierdo.
    • Haz clic en la pestaña "Exportar".
    • Elige el método "Rápido - mostrar solo las opciones mínimas" (es más sencillo).
    • Asegúrate de que el formato sea SQL.
    • Haz clic en "Continuar" o "Exportar". Se descargará un archivo .sql a tu ordenador. Guárdalo en un lugar seguro.

[TIP] Si tu base de datos es muy grande (más de 100 MB), la exportación puede fallar. En ese caso, pide a tu hosting que te haga una copia de seguridad manual o usa la opción "Exportar" desde la línea de comandos (pero eso ya es más avanzado).

Reparar la base de datos desde phpMyAdmin (DirectAdmin)

Ahora que tienes tu copia de seguridad, vamos a la reparación. El método más seguro y directo es usar la herramienta de reparación integrada en phpMyAdmin.

Paso 1: Accede a phpMyAdmin desde DirectAdmin

Repite los pasos 1 al 4 de la sección anterior para abrir phpMyAdmin. Una vez dentro, verás en el panel izquierdo la lista de bases de datos. Haz clic en el nombre de la base de datos de tu PrestaShop.

Paso 2: Selecciona todas las tablas

En el panel derecho, verás una lista de todas las tablas de tu base de datos (por ejemplo, ps_address, ps_cart, etc.). Justo encima de la lista, hay una casilla de verificación que dice "Seleccionar todo" o un enlace que dice "Marcar todos". Haz clic ahí para seleccionar todas las tablas.

Paso 3: Elige la opción "Reparar tabla"

Una vez seleccionadas todas las tablas, busca el menú desplegable que dice "Con seleccionados:" o "Para los elementos marcados:". Normalmente está en la parte inferior o superior de la lista de tablas. Despliega el menú y elige la opción "Reparar tabla".

Paso 4: Espera el resultado

phpMyAdmin comenzará a ejecutar el comando REPAIR TABLE en cada una de las tablas. Verás una página con los resultados, indicando para cada tabla si la operación fue exitosa o si encontró errores.

  • Resultado "OK" o "Table is already up to date": Significa que la tabla está bien y no necesitaba reparación.
  • Resultado "Repair complete" o "Number of rows changed": La tabla tenía errores y se ha reparado correctamente. ¡Genial!
  • Resultado "Error" o "Can't find file": La tabla está gravemente dañada. En ese caso, necesitarás restaurar esa tabla desde tu copia de seguridad. Te explico cómo más adelante.

[INFO] Este proceso puede tardar varios minutos si tu base de datos es grande. No cierres la ventana ni recargues la página. Sé paciente.

Paso 5: Verifica tu tienda PrestaShop

Una vez finalizada la reparación, vuelve a tu tienda PrestaShop y recarga la página. Si el error ha desaparecido, ¡enhorabuena! Si no, prueba a vaciar la caché de PrestaShop desde el panel de administración (Parámetros de la tienda > Rendimiento > Vaciar caché). A veces la caché guarda datos corruptos.

Reparar desde la línea de comandos (DirectAdmin con acceso SSH)

Si el método anterior no funciona o tu base de datos es muy grande, tu hosting puede darte acceso SSH (Shell). Es más rápido y potente, pero requiere un poco más de conocimiento.

  1. Accede por SSH a tu servidor (necesitarás un programa como PuTTY o Terminal).
  2. Conéctate a MySQL: Escribe mysql -u tu_usuario -p y presiona Enter. Te pedirá la contraseña de la base de datos (la misma que usas en DirectAdmin).
  3. Selecciona tu base de datos: Escribe USE nombre_de_tu_base_de_datos; (cambia nombre_de_tu_base_de_datos por el real).
  4. Repara todas las tablas: Ejecuta el comando REPAIR TABLE nombre_de_la_tabla; para una tabla específica, o si quieres reparar todas, puedes usar un pequeño truco: mysqlcheck -u tu_usuario -p --auto-repair nombre_de_tu_base_de_datos. Esto hará lo mismo que phpMyAdmin pero más rápido.

[WARNING] Si no te sientes cómodo con la línea de comandos, quédate con el método de phpMyAdmin. Un error de dedo aquí puede ser peligroso.

¿Qué hago si la reparación falla? Restaurar una tabla específica

Si alguna tabla da error de reparación, no todo está perdido. Puedes restaurar solo esa tabla desde tu copia de seguridad.

  1. Abre tu archivo .sql de respaldo con un editor de texto (como Notepad++ o Sublime Text). Es un archivo enorme, pero no te asustes.
  2. Busca la tabla dañada (por ejemplo, ps_product). La encontrarás en una línea que comienza con DROP TABLE IF EXISTS y luego CREATE TABLE.
  3. Copia todo el bloque desde DROP TABLE IF EXISTS hasta el ; que cierra el CREATE TABLE (incluyendo las líneas de INSERT INTO con los datos).
  4. Vuelve a phpMyAdmin, selecciona tu base de datos y haz clic en la pestaña SQL.
  5. Pega el bloque de código que copiaste y haz clic en "Continuar". Esto eliminará la tabla dañada y la recreará con los datos de tu copia de seguridad.

[TIP] Si la tabla dañada es muy grande (como ps_product o ps_order_detail), el editor de texto puede colapsar. En ese caso, usa un programa como HeidiSQL o MySQL Workbench para restaurar solo esa tabla.

Preguntas frecuentes (FAQ) sobre reparación de bases de datos en PrestaShop

Aquí respondo las dudas más comunes que me encuentro en el soporte técnico:

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

No. El comando REPAIR TABLE solo corrige la estructura interna de las tablas (índices, punteros, etc.). No elimina datos. Sin embargo, si la tabla está muy dañada y no se puede reparar, al restaurarla desde la copia de seguridad sí podrías perder cambios recientes (los que se hicieron después de la copia). Por eso es vital tener copias frecuentes.

¿Cada cuánto debo reparar la base de datos?

No es una tarea de mantenimiento rutinaria. Solo debes hacerlo cuando notes errores. Sin embargo, es buena práctica optimizar las tablas (no reparar) una vez al mes para mejorar el rendimiento. La optimización reorganiza el espacio y desfragmenta. Se hace desde el mismo menú "Con seleccionados:" eligiendo "Optimizar tabla".

¿Puedo reparar la base de datos desde el panel de control de mi hosting (como Syspanel)?

Sí, si tu hosting usa Syspanel (antes conocido como HestiaCP), el proceso es muy similar. Accede a Syspanel a través del puerto 2106 (ejemplo: https://tudominio.com:2106). Luego, busca la sección de bases de datos, entra en phpMyAdmin y sigue los mismos pasos que te he explicado para DirectAdmin. La interfaz de phpMyAdmin es la misma.

¿Qué significa el error "Table 'ps_product' is marked as crashed and should be repaired"?

Es el mensaje clásico de que una tabla está corrupta. Sigue los pasos de este artículo para repararla. Si no funciona, restaura desde la copia de seguridad como te indiqué.

¿El módulo de PrestaShop "Reparar base de datos" es seguro?

Existen módulos de pago que prometen reparar la base de datos con un solo clic. Aunque pueden ser útiles, siempre es más fiable hacerlo manualmente desde phpMyAdmin, ya que ves exactamente lo que está pasando. Además, los módulos no pueden hacer nada que no puedas hacer tú desde el panel de control.

Conclusión: No temas a los errores de base de datos

Reparar una base de datos en PrestaShop desde DirectAdmin es un proceso sencillo si lo haces con calma y sigues los pasos. Recuerda siempre:

  • Haz una copia de seguridad antes de cualquier manipulación.
  • Usa phpMyAdmin para la reparación, es la herramienta más amigable.
  • Si falla, no te rindas: restaura la tabla específica desde tu respaldo.
  • Mantén tu hosting actualizado y con suficiente espacio en disco para prevenir futuros problemas.

Si después de todo esto tu tienda sigue dando errores, el problema podría estar en el servidor (configuración de MySQL, memoria, etc.). En ese caso, contacta con tu proveedor de hosting y muéstrales los mensajes de error. Pero en el 90% de los casos, estos pasos resolverán el problema.

Espero que este artículo te haya sido de ayuda. ¡Tu tienda PrestaShop volverá a funcionar como un reloj!

¿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