Cómo respaldar y restaurar una base de datos en PrestaShop
¿Por qué es importante respaldar tu base de datos de PrestaShop?
Tu tienda PrestaShop depende por completo de su base de datos. Ahí se guardan los productos, los clientes, los pedidos, las contraseñas cifradas, las configuraciones de módulos y prácticamente todo el contenido dinámico de tu tienda.
Si pierdes esa información, pierdes tu negocio digital. Un fallo del servidor, un ataque malicioso, una actualización fallida de un módulo o un error humano al borrar un registro pueden dejar tu tienda inaccesible o con datos corruptos.
Por eso, saber cómo hacer un backup de PrestaShop y, sobre todo, cómo restaurar la base de datos, es una habilidad imprescindible para cualquier administrador de tienda online. En esta guía te lo explicamos paso a paso, sin tecnicismos innecesarios y pensando en que nunca lo has hecho antes.
Qué necesitas antes de empezar
Antes de lanzarte a hacer copias de seguridad, asegúrate de tener a mano lo siguiente:
- Acceso al panel de control de tu hosting (normalmente cPanel, aunque también puede ser Syspanel, Plesk o similar).
- Las credenciales de acceso a tu base de datos (usuario y contraseña). Las puedes encontrar en el archivo
parameters.phpde tu instalación de PrestaShop, dentro de la carpetaapp/config/. - El nombre de la base de datos y el host (normalmente
localhosto un nombre tipomysql.tudominio.com). - Un programa para descomprimir archivos
.zipo.gzen tu ordenador. - Un editor de texto plano (como el Bloc de notas de Windows o TextEdit en Mac) por si necesitas revisar algún archivo.
[INFO] Si tu hosting usa Syspanel, recuerda que el acceso se realiza a través del puerto 2106 (por ejemplo:
https://tudominio.com:2106). El proceso de backup es similar al de cPanel, pero con una interfaz diferente.
Cómo hacer un backup de la base de datos de PrestaShop en cPanel
El método más común y recomendado para respaldar tu base de datos es usar la herramienta de copias de seguridad de cPanel. Es rápida, segura y no requiere conocimientos técnicos.
Paso 1: Accede a cPanel
Escribe en tu navegador tudominio.com/cpanel o tudominio.com:2083 y accede con tus credenciales de hosting.
Paso 2: Busca la sección de bases de datos
Dentro de cPanel, busca el apartado "Bases de datos" o "Databases". Ahí verás varias opciones, entre ellas "phpMyAdmin" y "Backup" o "Copias de seguridad".
Paso 3: Usa la herramienta de Backup de cPanel
- Haz clic en "Backup" o "Copias de seguridad".
- Busca la sección "Backup de bases de datos" o "Download a MySQL Database Backup".
- Verás una lista con todas tus bases de datos. Localiza la que corresponde a tu tienda PrestaShop (suele tener un prefijo como
tuusuario_prestashopo similar). - Haz clic en el nombre de la base de datos para descargar el archivo
.sql.gzo.sql.zipa tu ordenador.
Ese archivo es tu copia de seguridad. Guárdalo en un lugar seguro, preferiblemente en dos sitios distintos (por ejemplo, en tu ordenador y en un servicio de almacenamiento en la nube).
[TIP] Haz copias de seguridad de tu base de datos de PrestaShop al menos una vez por semana, y siempre antes de realizar actualizaciones importantes de la plataforma, módulos o temas.
Cómo hacer un backup usando phpMyAdmin
Otra forma muy fiable de respaldar tu base de datos es mediante phpMyAdmin, la herramienta de gestión de bases de datos más utilizada en los hostings.
Paso 1: Accede a phpMyAdmin
Desde cPanel, haz clic en el icono de phpMyAdmin. Si usas Syspanel, busca la opción equivalente dentro del panel.
Paso 2: Selecciona tu base de datos
En el panel izquierdo de phpMyAdmin, verás una lista de bases de datos. Haz clic en la que usa tu PrestaShop.
Paso 3: Exporta la base de datos
- En el menú superior, haz clic en la pestaña "Exportar".
- Deja seleccionada la opción "Rápida" o "Personalizada" (si eliges personalizada, asegúrate de marcar la opción "Agregar DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT" para facilitar la restauración posterior).
- Haz clic en el botón "Continuar" o "Exportar".
- Se descargará un archivo
.sqlen tu ordenador.
[INFO] El archivo
.sqles un documento de texto con instrucciones SQL. No lo abras con doble clic, ya que podría intentar abrirse con un programa no adecuado. Usa un editor de texto si necesitas revisarlo.
Cómo restaurar una base de datos en PrestaShop con cPanel
Restaurar tu base de datos es tan importante como hacer el backup. Puede que necesites hacerlo después de un fallo, o simplemente para recuperar una versión anterior de tu tienda.
Paso 1: Accede a la herramienta de Backup de cPanel
Igual que para hacer la copia, entra en cPanel y busca la sección "Backup".
Paso 2: Sube el archivo de backup
- En la sección "Restaurar una copia de seguridad de la base de datos" o "Restore a MySQL Database Backup", haz clic en el botón "Elegir archivo" o "Subir".
- Selecciona el archivo
.sql.gzo.sql.zipque descargaste anteriormente. - Haz clic en "Subir" o "Restaurar".
cPanel se encargará de importar el archivo y restaurar los datos. Este proceso puede tardar unos minutos, dependiendo del tamaño de tu base de datos.
[WARNING] Antes de restaurar, asegúrate de que estás subiendo el archivo a la base de datos correcta. Si restauras en una base de datos equivocada, podrías sobrescribir información de otra tienda o aplicación.
Cómo restaurar una base de datos con phpMyAdmin
Si prefieres usar phpMyAdmin para restaurar, sigue estos pasos:
Paso 1: Accede a phpMyAdmin
Entra desde tu panel de control (cPanel o Syspanel).
Paso 2: Selecciona la base de datos
Haz clic en el nombre de la base de datos donde quieres restaurar la copia.
Paso 3: Importa el archivo
- Haz clic en la pestaña "Importar".
- Haz clic en "Elegir archivo" y selecciona el archivo
.sqlque descargaste. - Deja el resto de opciones por defecto.
- Haz clic en "Continuar" o "Importar".
Espera a que termine el proceso. Al final verás un mensaje de confirmación con el número de consultas ejecutadas.
[TIP] Si tu archivo de backup es muy grande (más de 100 MB), es posible que phpMyAdmin dé un error de tiempo de espera. En ese caso, usa la herramienta de cPanel Backup o contacta con tu proveedor de hosting para que te ayuden a importarlo manualmente.
Restaurar la base de datos desde la línea de comandos (SSH)
Si tienes acceso SSH a tu servidor, puedes importar tu base de datos de forma mucho más rápida y sin límites de tamaño. Este método es más avanzado, pero te lo explicamos por si te sientes cómodo.
Paso 1: Accede por SSH
Usa un cliente como PuTTY (Windows) o la terminal de tu Mac/Linux.
Paso 2: Importa el archivo
Ejecuta el siguiente comando, reemplazando los valores entre < > por los tuyos:
mysql -u <usuario> -p <nombre_base_datos> < archivo.sql
Te pedirá la contraseña del usuario de la base de datos. Una vez introducida, el proceso comenzará.
[INFO] Si tu archivo está comprimido (
.sql.gz), primero descomprímelo congunzip archivo.sql.gzo usa el siguiente comando para importarlo directamente:gunzip < archivo.sql.gz | mysql -u <usuario> -p <nombre_base_datos>
Errores comunes al restaurar y cómo solucionarlos
Error: "No such file or directory"
Este error suele aparecer cuando la ruta del archivo no es correcta, o cuando el archivo no está en el directorio desde el que ejecutas el comando. Verifica que has escrito bien el nombre del archivo y que estás en la carpeta correcta.
Error: "Access denied for user"
Este error indica que el usuario o la contraseña de la base de datos son incorrectos. Revisa las credenciales en tu archivo parameters.php.
Error: "Unknown database"
El nombre de la base de datos no existe o está mal escrito. Compruébalo en tu panel de control.
Error: "MySQL server has gone away"
Este error suele ocurrir cuando el archivo de backup es muy grande y el servidor agota el tiempo de espera. Prueba a dividir el archivo en partes más pequeñas o a importarlo por SSH.
[WARNING] Nunca interrumpas un proceso de restauración a mitad. Si se corta la conexión, la base de datos puede quedar en un estado inconsistente. Si ocurre, restaura de nuevo desde el archivo original.
Preguntas frecuentes (FAQ)
¿Cada cuánto tiempo debo hacer un backup de mi base de datos de PrestaShop?
Lo recomendable es hacerlo a diario, especialmente si tu tienda tiene mucho movimiento de pedidos. Como mínimo, hazlo cada semana y siempre antes de cualquier cambio importante.
¿El backup de la base de datos incluye los archivos de mi tienda?
No. El backup de la base de datos solo guarda la información estructurada (productos, pedidos, clientes, etc.). Los archivos de tu tienda (imágenes, módulos, temas, archivos de configuración) se guardan en una copia de seguridad diferente, normalmente en el Backup de archivos de cPanel.
¿Puedo restaurar una base de datos de una versión anterior de PrestaShop?
Sí, siempre que la estructura sea compatible. Si has actualizado PrestaShop y luego intentas restaurar una base de datos de una versión anterior, puede haber incompatibilidades. En ese caso, consulta con un desarrollador.
¿Qué hago si no tengo cPanel?
Si tu hosting usa Syspanel, el proceso es similar. Busca la sección de "Bases de datos" y luego la opción de "Backup" o "Exportar". Recuerda que el acceso a Syspanel es a través del puerto 2106.
¿Puedo hacer un backup desde el panel de administración de PrestaShop?
PrestaShop no incluye una herramienta nativa para hacer backups de la base de datos. Debes usar las herramientas de tu hosting (cPanel, Syspanel, phpMyAdmin, SSH) o instalar un módulo de backup de terceros.
Conclusión
Hacer backups de tu base de datos de PrestaShop y saber restaurarla es una de las tareas de mantenimiento más importantes que puedes realizar como dueño de una tienda online. No esperes a tener un problema para aprender a hacerlo.
Con las herramientas que te hemos mostrado (cPanel, phpMyAdmin y SSH), tienes todo lo necesario para proteger tu negocio. Dedica unos minutos cada semana a crear una copia de seguridad y guarda los archivos en al menos dos ubicaciones distintas. Tu yo del futuro (cuando tengas un problema) te lo agradecerá.
[TIP] Automatiza tus backups si tu hosting lo permite. Muchos paneles de control ofrecen la opción de programar copias de seguridad automáticas diarias o semanales. Actívalas y duerme tranquilo.
