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

Cómo gestionar bases de datos en PrestaShop

Actualizado el 4 de diciembre de 2025

¿Por qué es importante gestionar bien las bases de datos en PrestaShop?

PrestaShop es una de las plataformas de comercio electrónico más populares del mundo, y gran parte de su funcionamiento depende de una pieza clave: la base de datos. Cada producto, pedido, cliente, dirección y configuración de tu tienda se guarda en tablas dentro de MySQL. Si esa base de datos crece sin control, se llena de residuos o se corrompe, notarás que tu tienda va lenta, da errores o incluso deja de funcionar.

Aprender a gestionar base datos prestashop no es un lujo, es una necesidad si quieres que tu negocio online sea fiable y rápido. En este artículo te explico paso a paso, sin tecnicismos innecesarios, cómo hacer copias de seguridad, optimizar el rendimiento, limpiar tablas y mantener la salud general de tu MySQL en PrestaShop.


Qué contiene la base de datos de PrestaShop

Antes de tocar nada, es importante que entiendas qué hay dentro. Cuando instalas PrestaShop, se crean decenas de tablas con prefijos (normalmente ps_). Las más importantes son:

  • ps_products y ps_product_lang: información de tus productos y traducciones.
  • ps_orders y ps_order_detail: pedidos y líneas de pedido.
  • ps_customers: datos de tus clientes.
  • ps_address: direcciones de envío y facturación.
  • ps_stock_available: stock de cada producto.
  • ps_cart y ps_cart_product: carritos de compra (muchas veces temporales).
  • ps_connections y ps_connections_page: estadísticas de visitas (suelen llenarse rápido).

Conocer estas tablas te ayudará a identificar qué puedes limpiar y qué debes conservar siempre.


Cómo hacer un backup de PrestaShop (copia de seguridad)

El backup prestashop es la operación más importante que puedes hacer. Si algo sale mal, una copia reciente te salva el negocio. Te recomiendo hacerla al menos una vez por semana, y siempre antes de actualizar módulos, temas o el propio PrestaShop.

Opción 1: Backup desde el panel de administración de PrestaShop

PrestaShop incluye una herramienta básica de backup en el back office:

  1. Ve a Parámetros avanzados > Base de datos.
  2. Verás un botón que dice "Generar copia de seguridad".
  3. Haz clic y espera a que se genere el archivo .sql.
  4. El archivo se guardará en la carpeta admin/backups de tu servidor.

Consejo importante: descarga ese archivo a tu ordenador o a un almacenamiento en la nube. Si lo dejas solo en el servidor y el disco se daña, pierdes la copia.

Opción 2: Backup desde phpMyAdmin

Si tu hosting tiene acceso a phpMyAdmin (lo más habitual), puedes exportar la base de datos manualmente:

  1. Entra a phpMyAdmin desde tu panel de control.
  2. Selecciona la base de datos de tu PrestaShop.
  3. Ve a la pestaña Exportar.
  4. Elige el método "Rápido" y formato SQL.
  5. Haz clic en Continuar y descarga el archivo.

Opción 3: Backup desde terminal (para usuarios avanzados)

Si tienes acceso SSH, puedes usar el cliente de MySQL directamente:

mysqldump -u usuario -p nombre_basedatos > backup_prestashop.sql

Y para restaurarlo:

mysql -u usuario -p nombre_basedatos < backup_prestashop.sql

[WARNING] Nunca hagas un backup en caliente si tu tienda tiene mucho tráfico. El proceso puede bloquear temporalmente algunas tablas. Si es posible, hazlo en horas de baja actividad.


Cómo optimizar base datos PrestaShop paso a paso

Con el tiempo, tu base de datos acumula datos basura: carritos abandonados, sesiones antiguas, mensajes de error, estadísticas obsoletas... Todo eso ralentiza las consultas y hace que el rendimiento prestashop caiga.

1. Activa el modo mantenimiento

Antes de tocar nada, pon tu tienda en modo mantenimiento:

  • Ve a Parámetros generales > Mantenimiento.
  • Activa la opción "Activar modo mantenimiento".
  • Así evitas que los clientes vean errores mientras trabajas.

2. Limpia las tablas de carritos y sesiones

Las tablas ps_cart, ps_cart_product y ps_session acumulan cientos de miles de registros inútiles. Puedes vaciarlas con una consulta SQL desde phpMyAdmin:

TRUNCATE TABLE ps_cart;
TRUNCATE TABLE ps_cart_product;
TRUNCATE TABLE ps_session;

[INFO] TRUNCATE borra todo el contenido de la tabla. Úsalo solo si estás seguro de que no necesitas esos datos. Los carritos abandonados no se pueden recuperar después.

3. Limpia las estadísticas antiguas

PrestaShop guarda un registro de cada visita, página vista y conexión. Eso llena las tablas ps_connections y ps_connections_page. Puedes borrar los registros de más de 30 días:

DELETE FROM ps_connections WHERE date_add < NOW() - INTERVAL 30 DAY;
DELETE FROM ps_connections_page WHERE time_start < NOW() - INTERVAL 30 DAY;

4. Optimiza todas las tablas

Una vez limpiada la base de datos, es momento de optimizar las tablas para que MySQL las reorganice y libere espacio. Puedes hacerlo desde phpMyAdmin:

  1. Selecciona todas las tablas de la base de datos.
  2. En el menú desplegable elige Optimizar tabla.
  3. Confirma y espera a que termine.

También puedes hacerlo por línea de comandos:

mysqlcheck -o nombre_basedatos -u usuario -p

5. Elimina logs y mensajes antiguos

La tabla ps_log guarda errores de la tienda. Con el tiempo puede hacerse enorme. Bórrala o vacíala:

TRUNCATE TABLE ps_log;

Ajustes de MySQL para mejorar el rendimiento de PrestaShop

Además de limpiar, puedes configurar MySQL para que trabaje mejor con PrestaShop. Estos ajustes se hacen en el archivo my.cnf (Linux) o desde el panel de control de tu hosting si lo permite.

Parámetros recomendados

  • max_allowed_packet = 64M: permite importar backups más grandes sin errores.
  • query_cache_size = 64M: guarda en caché consultas repetidas.
  • innodb_buffer_pool_size = 1G (si tienes más de 4GB de RAM): acelera las consultas en tablas InnoDB.
  • tmp_table_size = 64M y max_heap_table_size = 64M: mejora las consultas temporales con ORDER BY o GROUP BY.

[TIP] Si tu tienda tiene muchos productos y pedidos, considera migrar todas las tablas a InnoDB (si están en MyISAM). InnoDB soporta transacciones y bloqueos a nivel de fila, lo que evita caídas en momentos de alta concurrencia.

Cómo cambia el motor de almacenamiento

En phpMyAdmin:

  1. Ve a la pestaña Operaciones de cada tabla.
  2. En "Motor de almacenamiento" elige InnoDB.
  3. Guarda los cambios.

Puedes hacerlo en bloque con una consulta SQL:

ALTER TABLE ps_products ENGINE=InnoDB;

Repite para las tablas más importantes: ps_orders, ps_customers, ps_cart, ps_product_attribute.


Herramientas y módulos para mantener tu base de datos

Existen módulos de PrestaShop que automatizan la limpieza y optimización. Algunos de los más populares son:

  • Cleaner: elimina archivos temporales, logs y carritos vacíos.
  • Advanced Database Cleaner: permite vaciar tablas específicas desde el back office.
  • PrestaShop Cleaner: limpia caché, sesiones y tablas de estadísticas.

[WARNING] No instales módulos de limpieza sin antes hacer un backup. Algunos pueden borrar datos que necesitas, como cupones o mensajes de clientes.


Cómo restaurar un backup de PrestaShop

Saber restaurar es tan importante como hacer el backup. Si algo falla, estos son los pasos para volver a tener tu tienda operativa:

Desde phpMyAdmin

  1. Entra a phpMyAdmin y selecciona tu base de datos.
  2. Ve a la pestaña Importar.
  3. Sube el archivo .sql que tienes guardado.
  4. Haz clic en Continuar y espera.

[WARNING] Si el archivo supera el límite de subida del servidor (normalmente 2MB o 8MB), tendrás que aumentarlo en el php.ini o usar la línea de comandos.

Desde terminal

mysql -u usuario -p nombre_basedatos < backup_prestashop.sql

Qué hacer si el backup falla

Si el backup es muy grande y phpMyAdmin no puede importarlo, divide el archivo SQL en partes más pequeñas con herramientas como BigDump o split en Linux.


Preguntas frecuentes sobre bases de datos en PrestaShop

¿Con qué frecuencia debo hacer un backup de PrestaShop?

Si tienes una tienda activa, al menos una vez por semana. Si haces cambios frecuentes (productos, precios, promociones), hazlo a diario o cada dos días.

¿Puedo usar Syspanel para gestionar la base de datos de PrestaShop?

Sí. Syspanel (el panel de control que antes se llamaba HestiaCP) incluye herramientas de gestión de bases de datos. Accede a través del puerto 2106 (por ejemplo, https://tudominio.com:2106), entra en Bases de datos y encontrarás phpMyAdmin integrado. Desde ahí puedes hacer backups, importar y exportar, y ejecutar consultas SQL.

¿Optimizar la base de datos mejora la velocidad de carga de mi tienda?

Sí, notablemente. Si tu base de datos tiene cientos de miles de registros basura, cada consulta tarda más. Al limpiarla y optimizarla, las páginas cargan más rápido y el servidor consume menos recursos.

¿Qué hago si mi base de datos está corrupta?

Primero intenta repararla desde phpMyAdmin: selecciona las tablas y elige Reparar tabla. Si no funciona, restaura el último backup bueno. Si el problema persiste, contacta con tu proveedor de hosting.

¿Por qué mi PrestaShop va lento si tengo pocos productos?

El problema no siempre es el número de productos, sino la cantidad de datos acumulados: sesiones, carritos, logs, estadísticas. Una tienda con 100 productos pero 500.000 registros de visitas puede ir más lenta que una con 10.000 productos y una base de datos limpia.

¿Es seguro usar TRUNCATE en tablas de PrestaShop?

Es seguro en tablas temporales o de registro como ps_cart, ps_session, ps_connections, ps_log. No lo hagas nunca en ps_orders, ps_customers o ps_products, porque perderías información crítica.


Buenas prácticas para mantener tu base de datos sana

  • Haz backups automáticos: configura una tarea cron en tu servidor que ejecute mysqldump cada noche.
  • Revisa el tamaño de la base de datos una vez al mes desde phpMyAdmin o Syspanel.
  • Desactiva las estadísticas de PrestaShop si no las usas: en Parámetros avanzados > Rendimiento, desmarca "Guardar estadísticas".
  • Elimina módulos que no uses: muchos módulos crean tablas propias que se quedan huérfanas.
  • Usa el modo mantenimiento cuando vayas a hacer cambios importantes en la base de datos.
  • Mantén PrestaShop actualizado: cada versión incluye mejoras de rendimiento y corrección de errores en consultas.

Conclusión

Gestionar la base de datos de PrestaShop es una tarea que no puedes ignorar si quieres que tu tienda funcione bien a largo plazo. Hacer backup prestashop con regularidad, optimizar base datos prestashop cada cierto tiempo y ajustar mysql prestashop son tres pilares que marcarán la diferencia en el rendimiento prestashop.

No necesitas ser un experto en Linux ni en administración de sistemas. Con las herramientas que te he mostrado (phpMyAdmin, Syspanel, terminal o módulos de limpieza) puedes mantener tu tienda rápida, segura y sin errores.

Empieza hoy mismo: haz un backup, limpia las tablas de sesiones y carritos, optimiza las tablas y configura una tarea automática. Tu tienda (y tus clientes) te lo agradecerán.

¿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