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

Solucionar problemas de base de datos en PrestaShop en cPanel

Actualizado el 9 de diciembre de 2025

¡Hola! Soy tu técnico de soporte amigable. Si estás aquí es porque tu tienda PrestaShop te está dando algún dolor de cabeza con la base de datos. Tranquilo, es más común de lo que crees y, con un poco de guía, podrás solucionarlo tú mismo desde cPanel. Vamos a ello.

Antes de empezar, recuerda que siempre debes hacer una copia de seguridad completa de tu sitio (archivos y base de datos) antes de hacer cualquier cambio. Es tu red de seguridad.

¿Por qué falla la base de datos en PrestaShop?

Tu tienda PrestaShop guarda toda la información importante (productos, clientes, pedidos, configuraciones) en una base de datos. Cuando esta base de datos tiene problemas, tu tienda puede mostrar errores como:

  • Página en blanco (el famoso "error 500" o pantalla blanca).
  • Mensaje de "Error de conexión a la base de datos".
  • "Table doesn't exist" (la tabla no existe).
  • Errores al añadir productos o procesar pedidos.
  • La tienda va muy lenta.

Las causas más habituales son:

  • Conexión incorrecta: Los datos de acceso (usuario, contraseña, nombre de la base de datos) en el archivo de configuración de PrestaShop no coinciden con los reales.
  • Corrupción de tablas: La base de datos se ha dañado por un corte de luz, una mala actualización, un plugin conflictivo o un error al importar/exportar datos.
  • Límites de recursos: La base de datos supera el límite de tamaño o de conexiones simultáneas permitidas por tu hosting.
  • Versiones incompatibles: La versión de PHP o MySQL de tu servidor no es compatible con la versión de PrestaShop que usas.

Vamos a solucionar paso a paso cada uno de estos escenarios.

Paso 1: Localiza tu base de datos en cPanel

Lo primero es acceder a tu panel de control. Si usas cPanel, inicia sesión con las credenciales que te dio tu proveedor de hosting.

  1. Busca la sección "Bases de Datos".
  2. Haz clic en "phpMyAdmin". Se abrirá una nueva ventana con todas tus bases de datos.
  3. En la columna de la izquierda, verás una lista con los nombres de tus bases de datos. Busca la que corresponde a tu PrestaShop. Si no estás seguro, suele tener un prefijo como tunegocio_ o prestashop_.

[TIP] Si tienes varias bases de datos y no sabes cuál es la de PrestaShop, abre el archivo parameters.php o settings.inc.php de tu PrestaShop (lo veremos en el Paso 2) para ver el nombre exacto.

Paso 2: Verifica los datos de conexión (el error más común)

El error "Error de conexión a la base de datos" suele deberse a que PrestaShop no encuentra las credenciales correctas.

2.1. Encuentra el archivo de configuración

PrestaShop guarda estos datos en un archivo. Dependiendo de la versión:

  • PrestaShop 1.7 y 8.x: El archivo es app/config/parameters.php.
  • PrestaShop 1.6 y anteriores: El archivo es config/settings.inc.php.

Para acceder a él desde cPanel:

  1. Ve a la sección "Archivos" y haz clic en "Administrador de Archivos".
  2. Navega hasta la carpeta raíz de tu tienda (normalmente public_html o una subcarpeta como public_html/tienda).
  3. Busca la ruta indicada según tu versión y abre el archivo (con el editor de texto, haz clic derecho y "Editar").

2.2. Compara los datos

Dentro del archivo parameters.php (o settings.inc.php) verás líneas como estas:

// Para parameters.php
'database_host' => 'localhost',
'database_name' => 'tu_usuario_tu_bd',
'database_user' => 'tu_usuario_tu_usuario',
'database_password' => 'tu_contraseña',

Apunta estos cuatro valores: host, nombre de BD, usuario y contraseña.

Ahora, ve a cPanel > Bases de Datos > Bases de Datos MySQL.

  • Verifica que el nombre de la base de datos y el nombre de usuario existan exactamente igual (incluyendo el prefijo de tu cuenta, ej: midomini_).
  • Si el usuario existe, asegúrate de que tenga todos los privilegios (SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, etc.) sobre esa base de datos. Si no, asígnalos.
  • Si no recuerdas la contraseña, desde la misma sección de Bases de Datos MySQL puedes cambiarla (opción "Cambiar contraseña").

[WARNING] Si cambias la contraseña en cPanel, también debes actualizarla en el archivo parameters.php o settings.inc.php de PrestaShop. Si no, la tienda se desconectará.

2.3. ¿El host es correcto?

Por lo general, el host es localhost. Sin embargo, algunos proveedores de hosting usan un servidor de bases de datos externo (ej: mysql.tudominio.com). Si no estás seguro, consulta la documentación de tu hosting. Si el host es incorrecto, cámbialo en el archivo de configuración.

Paso 3: Repara las tablas dañadas (el segundo error más común)

Si ves errores como "Table 'ps_product' doesn't exist" o "Error en la consulta SQL", es muy probable que algunas tablas de tu base de datos estén corruptas. Vamos a repararlas desde phpMyAdmin.

  1. Abre phpMyAdmin desde cPanel.
  2. Selecciona la base de datos de tu PrestaShop (haz clic en su nombre en la columna izquierda).
  3. Verás una lista de todas las tablas (ej: ps_category, ps_product, etc.). Si alguna está dañada, puede tener un icono de advertencia o un estado "in use" o "error".
  4. Método rápido (recomendado para principiantes):
    • Haz clic en el checkbox de la parte superior de la lista (seleccionar todas las tablas).
    • En el menú desplegable "Con seleccionados" (o "Con seleccionadas"), elige "Reparar tabla".
    • phpMyAdmin ejecutará el comando REPAIR TABLE en todas las tablas. Espera a que termine. Verás un mensaje de "OK" o "Table is already up to date" para cada tabla.
  5. Método alternativo (si el anterior falla):
    • Ve a la pestaña "SQL" en la parte superior.
    • Escribe o pega el siguiente comando (puedes copiarlo):
      REPAIR TABLE `ps_category`, `ps_product`, `ps_customer`;
      
      (Cambia los nombres de las tablas por las que quieras reparar, o usa REPAIR TABLE para todas si te da error).
    • Haz clic en "Continuar".

[INFO] Si la reparación falla, puede que la tabla esté muy dañada. En ese caso, necesitarás restaurar la base de datos desde una copia de seguridad.

Paso 4: Optimiza la base de datos (para que vaya más rápida)

Después de reparar, es buena idea optimizar las tablas para liberar espacio y mejorar el rendimiento.

  1. En phpMyAdmin, selecciona tu base de datos.
  2. Haz clic en "Seleccionar todo" (el checkbox de arriba).
  3. En el menú desplegable, elige "Optimizar tabla".
  4. phpMyAdmin ejecutará OPTIMIZE TABLE. Esto puede tardar unos segundos o minutos si la base de datos es grande.

Paso 5: Verifica los límites de recursos de tu hosting

A veces, el problema no es la base de datos en sí, sino que tu plan de hosting es demasiado pequeño.

  • Tamaño de la base de datos: Desde cPanel > Bases de Datos > Bases de Datos MySQL puedes ver el tamaño de cada base de datos. Si se acerca al límite de tu plan (ej: 1 GB), necesitarás limpiar datos antiguos (logs, pedidos cancelados, etc.) o contratar más espacio.
  • Número de conexiones: Si tu tienda recibe mucho tráfico y el hosting tiene un límite bajo de conexiones simultáneas a MySQL, puede dar error. Contacta a tu soporte de hosting para que lo revisen.

Paso 6: Actualiza la versión de PHP y MySQL

PrestaShop requiere versiones específicas de PHP y MySQL para funcionar correctamente.

  1. Desde cPanel, busca la sección "Software" y haz clic en "Seleccionar versión de PHP" (o "MultiPHP Manager").
  2. Asegúrate de que la versión de PHP es compatible con tu PrestaShop. Por ejemplo:
    • PrestaShop 1.6: PHP 5.6 a 7.1 (mejor 7.0 o 7.1).
    • PrestaShop 1.7: PHP 7.1 a 7.4 (mejor 7.3 o 7.4).
    • PrestaShop 8.x: PHP 7.4 o 8.0 (mejor 8.0).
  3. Pregunta a tu hosting cuál es la versión de MySQL que ofrecen. PrestaShop 1.7+ funciona bien con MySQL 5.6 o superior.

[WARNING] Cambiar la versión de PHP puede romper otras funcionalidades si no es compatible. Hazlo en un entorno de pruebas si es posible.

Paso 7: Soluciones avanzadas (si nada funciona)

Si después de todo lo anterior el problema persiste, prueba esto:

7.1. Comprueba los logs de errores de PrestaShop

PrestaShop guarda registros de errores. Ve a tu Back Office > Parámetros Avanzados > Registros (o "Logs"). Busca errores relacionados con la base de datos (ej: "MySQL server has gone away", "Out of memory", etc.). Esto te dará pistas más precisas.

7.2. Forzar la regeneración de la caché de la base de datos

A veces, la caché de PrestaShop guarda datos corruptos. Desde tu Back Office:

  • Ve a Parámetros Avanzados > Rendimiento.
  • Haz clic en "Forzar la compilación de templates" y "Forzar la regeneración de la caché".
  • Borra la caché manualmente desde el servidor: en el Administrador de Archivos de cPanel, elimina las carpetas var/cache/ (PrestaShop 1.7) o cache/ (PrestaShop 1.6).

7.3. Verifica la integridad de los archivos de PrestaShop

Si un archivo de PrestaShop está corrupto (ej: un archivo PHP que se comunica con la base de datos), puede dar errores. La solución más segura es subir de nuevo los archivos originales de tu versión de PrestaShop (sin sobrescribir la carpeta config ni img). Puedes descargar la versión desde PrestaShop.com.

7.4. Restaura desde una copia de seguridad

Este es el plan de emergencia. Si has hecho una copia de seguridad reciente:

  1. Desde phpMyAdmin, importa el archivo .sql de tu copia de seguridad (pestaña "Importar").
  2. Si también tienes copia de los archivos, súbelos por Administrador de Archivos o FTP.

FAQ (Preguntas Frecuentes)

P: ¿Puedo usar un plugin para reparar la base de datos?
R: Sí, existen módulos como "Database Repair" o "PrestaShop Cleaner", pero te recomiendo hacerlo manualmente desde phpMyAdmin, ya que es más seguro y no dependes de terceros.

P: Mi tienda da "Error 500" y no puedo acceder al Back Office. ¿Qué hago?
R: Accede directamente a phpMyAdmin desde cPanel y sigue el Paso 3 (reparar tablas). Si no funciona, edita el archivo parameters.php y temporalmente desactiva el modo debug (cambia '_PS_MODE_DEV_' => false a true para ver el error exacto).

P: ¿Cada cuánto debo optimizar la base de datos?
R: Una vez al mes es una buena práctica, especialmente si tu tienda tiene mucho movimiento. Puedes programarlo en cPanel con tareas cron (si tu hosting lo permite) o hacerlo manualmente.

P: ¿Qué hago si el error dice "MySQL server has gone away"?
R: Esto suele ocurrir por un tiempo de espera de conexión muy bajo. Aumenta el límite en el archivo parameters.php añadiendo 'database_server_version' => '5.6' (o la versión que tengas) o contacta a tu hosting para que aumenten el parámetro wait_timeout en MySQL.

Resumen rápido

  1. Copia de seguridad antes de tocar nada.
  2. Verifica las credenciales en parameters.php o settings.inc.php.
  3. Repara las tablas desde phpMyAdmin.
  4. Optimiza después de reparar.
  5. Actualiza PHP a una versión compatible.
  6. Revisa los logs para más pistas.
  7. Si todo falla, restaura una copia de seguridad.

[TIP] Si no te sientes cómodo haciendo estos pasos, contacta a tu proveedor de hosting. Muchos ofrecen soporte técnico gratuito para estos casos.

Espero que este artículo te haya sido de gran ayuda. Si sigues teniendo problemas, recuerda que siempre puedes preguntar en los foros de PrestaShop o a tu hosting. ¡Buena suerte con tu tienda!

¿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