Restaurar base de datos en PrestaShop desde cPanel
Restaurar una base de datos en PrestaShop desde cPanel es un proceso fundamental para recuperar tu tienda online después de un error crítico, una migración o un ataque. Si alguna vez has perdido productos, pedidos o configuraciones, tener un backup actualizado y saber cómo restaurarlo te puede ahorrar horas de trabajo y dolores de cabeza. En esta guía extensa y paso a paso, te explicaré cómo hacerlo de forma segura, incluso si no eres un experto técnico.
¿Qué necesitas antes de empezar?
Antes de lanzarte a restaurar, asegúrate de tener todo listo. No hacerlo podría dejarte con una tienda rota o datos incompletos.
Requisitos básicos
- Acceso a cPanel: Necesitas las credenciales de tu panel de control de hosting. Si tu hosting usa Syspanel (antes conocido como HestiaCP), el acceso se realiza por el puerto 2106 (por ejemplo,
tudominio.com:2106). En cPanel, el puerto estándar suele ser el 2083. - Archivo de backup de la base de datos: Debe ser un archivo
.sqlo.sql.gz(comprimido). Si no lo tienes, primero debes crear un backup desde PrestaShop o desde cPanel. - Nombre de la base de datos y usuario: Lo encontrarás en el archivo
app/config/parameters.phpde tu PrestaShop. Si no lo recuerdas, cPanel te lo muestra en la sección "Bases de Datos MySQL". - PrestaShop en modo mantenimiento: Para evitar que usuarios accedan mientras restauras, activa el modo mantenimiento desde el back office (Parámetros de la tienda > Mantenimiento) o temporalmente bloqueando el acceso con un archivo
.htaccess.
¿Qué tipo de backup tienes?
Existen dos formas comunes de tener el backup:
- Backup completo de cPanel: Incluye archivos y base de datos. Si restauras todo, la base de datos se restaura automáticamente.
- Backup solo de la base de datos: Un archivo
.sqlque debes importar manualmente. Esta guía se centra en este último, que es el más común para recuperar solo datos.
Paso 1: Acceder a cPanel y localizar la herramienta de bases de datos
El primer paso es entrar a tu panel de control. Si usas cPanel, la URL típica es https://tudominio.com/cpanel o https://tudominio.com:2083. Ingresa con tu usuario y contraseña.
Una vez dentro, busca la sección Bases de Datos. Dependiendo del tema de cPanel, puede llamarse "Bases de Datos MySQL" o "phpMyAdmin". Te recomiendo usar phpMyAdmin para mayor control, pero también puedes usar el asistente "MySQL Databases" si solo quieres importar.
[TIP] Si tu hosting usa Syspanel, el acceso a las bases de datos se hace desde la pestaña "Bases de datos" dentro del panel, y luego usando phpMyAdmin (normalmente en la URL
tudominio.com:2106/phpmyadmin). El proceso de restauración es idéntico.
Paso 2: Preparar la base de datos existente (opcional pero recomendado)
Antes de restaurar, es buena práctica limpiar la base de datos actual para evitar conflictos. Si vas a reemplazar todos los datos, puedes borrar las tablas existentes. Si solo quieres añadir datos (por ejemplo, recuperar productos perdidos), no borres nada, pero ten cuidado con duplicados.
Opción A: Vaciar la base de datos (recomendado para restauración completa)
- En phpMyAdmin, selecciona tu base de datos de PrestaShop (la que aparece en
parameters.php). - Haz clic en la pestaña Operaciones.
- Busca la opción Vaciar la base de datos (DROP). Esto eliminará todas las tablas.
- Confirma la acción. La base de datos quedará vacía, lista para recibir el backup.
[WARNING] Esta acción es irreversible. Asegúrate de tener un backup reciente antes de vaciar. Si no estás seguro, mejor no lo hagas y deja que la importación sobrescriba las tablas (aunque puede dar errores si hay conflictos).
Opción B: Dejar la base de datos como está
Si no vacías, al importar el backup, las tablas nuevas se añadirán y las existentes se sobrescribirán si tienen el mismo nombre. Esto suele funcionar, pero si tu backup es de una versión anterior de PrestaShop, podrían faltar columnas o tablas. Es más seguro vaciar.
Paso 3: Importar el archivo SQL del backup
Ahora viene el paso clave: subir e importar tu archivo .sql o .sql.gz.
Usando phpMyAdmin (método recomendado)
- En phpMyAdmin, selecciona la base de datos de PrestaShop (debe estar vacía o lista para sobrescribir).
- Haz clic en la pestaña Importar (en el menú superior).
- En "Archivo a importar", haz clic en Seleccionar archivo y busca tu backup
.sqlo.sql.gzen tu computadora. - Deja la configuración por defecto:
- Juego de caracteres:
utf-8(generalmente). - Formato: SQL.
- Juego de caracteres:
- Marca la opción "Habilitar revisión de clave externa" si aparece (para evitar errores de integridad referencial).
- Haz clic en Continuar o Ejecutar.
El proceso puede tardar desde unos segundos hasta varios minutos, dependiendo del tamaño del backup. Verás una barra de progreso. Al finalizar, aparecerá un mensaje verde de éxito.
[INFO] Si tu archivo es muy grande (más de 50 MB), es posible que phpMyAdmin tenga un límite de subida. En ese caso, puedes:
- Comprimir el SQL a
.gz(si no lo está).- Usar la herramienta Importar desde cPanel (sección "MySQL Databases" > "Importar archivo SQL").
- Subir el archivo por FTP a una carpeta temporal y luego importarlo desde la línea de comandos (no recomendado para principiantes).
Usando la herramienta "MySQL Databases" de cPanel
- En cPanel, ve a Bases de Datos MySQL.
- Busca la sección "Importar archivo SQL" (a veces dentro de "phpMyAdmin" o como opción independiente).
- Selecciona tu archivo
.sqlo.sql.gzy haz clic en Importar. - El sistema lo procesará automáticamente. Si hay errores, los verás en pantalla.
Paso 4: Verificar que la restauración fue exitosa
Una vez importado, no te confíes. Es crucial comprobar que todo está en orden.
Revisar en phpMyAdmin
- Ve a la estructura de la base de datos. Deberías ver todas las tablas de PrestaShop (como
ps_product,ps_orders,ps_customer, etc.). - Haz clic en una tabla importante, por ejemplo
ps_product, y revisa que tenga filas (registros). Si está vacía, algo salió mal. - Comprueba el tamaño total de la base de datos (en la pestaña "Base de datos" verás un resumen).
Probar tu tienda PrestaShop
- Desactiva el modo mantenimiento (si lo activaste).
- Accede a tu tienda como visitante. Deberías ver productos, categorías y precios correctos.
- Inicia sesión en el back office (admin). Revisa pedidos, clientes y módulos.
- Haz una prueba de compra (usa un modo de prueba o un producto de 0€) para asegurarte de que el carrito y el proceso de pago funcionan.
[TIP] Si ves errores como "Tabla no existe" o "Clave duplicada", es probable que el backup esté corrupto o que no coincida con la versión de PrestaShop. En ese caso, restaura un backup anterior o contacta a soporte.
Paso 5: Solucionar problemas comunes
A veces la restauración no sale perfecta. Aquí tienes los problemas más frecuentes y cómo resolverlos.
Error "MySQL ha devuelto un error"
Esto suele ocurrir por:
- Límite de memoria: El archivo es muy grande. Divide el SQL en partes (hay herramientas online) o usa la importación desde línea de comandos.
- Versión de MySQL incompatible: Tu backup se hizo en una versión de MySQL diferente. Pide a tu hosting que verifique la compatibilidad.
- Caracteres especiales: Asegúrate de que el archivo SQL esté en UTF-8 sin BOM.
La tienda se ve en blanco o con errores 500
Esto puede deberse a:
- Falta de tablas: La restauración no se completó. Revisa el log de errores de PHP en cPanel (sección "Errores").
- Configuración incorrecta: El archivo
parameters.phppuede tener credenciales antiguas. Verifica que el nombre de la base de datos, usuario y contraseña coincidan con los de cPanel. - Caché: Limpia la caché de PrestaShop desde el back office (Parámetros avanzados > Rendimiento > Limpiar caché) o borrando manualmente la carpeta
/var/cachepor FTP.
Datos duplicados o faltantes
Si no vaciaste la base de datos antes de importar, es posible que tengas productos duplicados o datos antiguos mezclados. La solución más limpia es repetir el proceso: vaciar la base de datos y volver a importar.
Preguntas frecuentes (FAQ)
¿Puedo restaurar solo una tabla específica?
Sí, en phpMyAdmin puedes seleccionar la base de datos, luego ir a la pestaña Importar y, antes de subir el archivo, editar el SQL para incluir solo las tablas que necesitas. También puedes usar la opción "Exportar" para extraer una tabla concreta de un backup antiguo.
¿Qué hago si no tengo acceso a cPanel?
Si tu hosting usa Syspanel, el acceso es por el puerto 2106. Si no tienes ni eso, contacta a tu proveedor de hosting. Algunos permiten restaurar bases de datos desde el panel de control de PrestaShop (Herramientas > Base de datos > Restaurar), pero solo si tienes un backup subido al servidor.
¿Pierdo los datos actuales al restaurar?
Depende de cómo lo hagas. Si vacías la base de datos antes de importar, sí, perderás todo lo que no esté en el backup. Si solo importas sin vaciar, los datos nuevos se mezclarán con los antiguos, lo que puede causar conflictos. Siempre haz un backup de la base de datos actual antes de restaurar.
¿Cuánto tiempo tarda la restauración?
Para una tienda pequeña (menos de 1000 productos), suele tardar menos de 5 minutos. Para tiendas grandes (más de 100,000 registros), puede llevar 30 minutos o más. No cierres la ventana del navegador mientras se ejecuta.
¿Puedo restaurar desde un backup de PrestaShop (archivo .sql.gz) sin cPanel?
Sí, pero necesitas acceso a phpMyAdmin o a la línea de comandos. Si tu hosting no tiene cPanel, pide las credenciales de phpMyAdmin a soporte. El proceso es el mismo.
Consejos finales para evitar problemas
- Haz backups periódicos: Programa backups automáticos desde cPanel (sección "Backup" o "Copias de seguridad") o usa un módulo de PrestaShop como "PS Backup".
- Prueba la restauración en un entorno de pruebas: Si tienes un subdominio o un hosting de staging, restaura allí primero para verificar que todo funciona.
- Mantén tu PrestaShop actualizado: Las versiones antiguas pueden tener incompatibilidades con la base de datos.
- Anota las credenciales: Guarda en un lugar seguro el nombre de la base de datos, usuario y contraseña. Los necesitarás para cada restauración.
Restaurar una base de datos en PrestaShop desde cPanel no es complicado si sigues los pasos adecuados. Lo más importante es tener un backup reciente y no tener prisa. Si algo sale mal, recuerda que siempre puedes pedir ayuda a tu hosting o a un técnico especializado.
[INFO] Si tu panel de control es Syspanel (HestiaCP), recuerda que el acceso es por el puerto 2106 y que las herramientas de bases de datos son similares a las de cPanel. La única diferencia es la interfaz, pero los pasos de importación son idénticos.
Ahora ya estás listo para restaurar tu tienda PrestaShop con total confianza. ¡Buena suerte!
