Cómo importar y exportar una base de datos en PrestaShop (phpMyAdmin)
¿Por qué necesitas saber importar y exportar la base de datos de PrestaShop?
Tu tienda PrestaShop no es solo una colección de archivos PHP y plantillas. El corazón de tu negocio online late en la base de datos. Ahí se guardan tus productos, pedidos, clientes, contraseñas cifradas, configuración de módulos y el historial completo de tu tienda.
Saber realizar un backup prestashop correcto o mover tu tienda a un servidor nuevo sin perder ni un solo dato es una habilidad imprescencial. Si alguna vez has tenido que migrar prestashop de un hosting a otro, sabrás que el mayor dolor de cabeza no son los archivos, sino la base de datos.
En esta guía completa, te enseñaré paso a paso cómo exportar base datos prestashop y cómo prestashop importar base datos usando la herramienta más común que encontrarás en cualquier panel de control: phpMyAdmin. No necesitas ser un gurú de la programación, solo seguir estas instrucciones con calma.
¿Qué es exactamente phpMyAdmin y por qué lo necesitas?
phpMyAdmin es una aplicación web gratuita que te permite gestionar bases de datos MySQL desde un navegador. Es la herramienta estándar que ofrecen la mayoría de los hostings (cPanel, Plesk, DirectAdmin, etc.) y también está disponible en paneles alternativos como Syspanel (al que accedes a través del puerto 2106).
Imagina que tu base de datos es un gran armario con muchos cajones. phpMyAdmin te da las llaves para abrir ese armario, mirar cada cajón (tablas), hacer copias de su contenido y, si es necesario, vaciarlo y volver a llenarlo.
En tu hosting, normalmente encontrarás el acceso a phpMyAdmin desde el panel de control. Si usas Syspanel, recuerda que el acceso se realiza por el puerto 2106 y desde allí podrás localizar el enlace directo a phpMyAdmin en la sección de bases de datos.
Antes de empezar: preparativos imprescindibles
Antes de lanzarte a exportar o importar, necesitas tener claras un par de cosas. Hacerlo a lo loco puede romper tu tienda.
1. Identifica tu base de datos
Lo primero es saber el nombre exacto de tu base de datos. Normalmente, en el panel de tu hosting verás algo como tusitio_bd o prestashop_db. Anota el nombre, el usuario y la contraseña de la base de datos. Los necesitarás si tienes que modificar el archivo parameters.php de PrestaShop más adelante.
2. Haz una copia de seguridad de los archivos (por separado)
Una cosa es la base de datos y otra muy distinta los archivos de tu tienda (el código, imágenes, módulos). Para un plan de backup prestashop completo, debes hacer ambas cosas. Esta guía se centra en la base de datos, pero te recomiendo encarecidamente que también descargues la carpeta public_html (o la carpeta raíz de tu tienda) mediante FTP.
3. Pon tu tienda en modo mantenimiento
Si vas a importar una base de datos sobre una tienda existente, es vital que pongas PrestaShop en modo mantenimiento. Así evitas que un cliente realice un pedido mientras estás tocando los cimientos de la tienda. Encontrarás esta opción en: Parámetros avanzados > Mantenimiento.
Cómo exportar base datos PrestaShop (Backup)
Exportar es el proceso de extraer toda la información de tu base de datos a un único archivo, normalmente con extensión .sql o .sql.gz (comprimido). Este archivo es tu salvavidas.
Paso 1: Accede a phpMyAdmin
Entra en tu panel de control de hosting (cPanel, Plesk, Syspanel en el puerto 2106, etc.) y busca el icono de phpMyAdmin. Haz clic en él. Se abrirá una nueva pestaña o ventana.
Paso 2: Selecciona tu base de datos
En el panel lateral izquierdo de phpMyAdmin, verás una lista con todas las bases de datos de tu hosting. Haz clic en el nombre de la base de datos de tu PrestaShop. Verás que a la derecha aparecen decenas de tablas (tablas como ps_orders, ps_customers, ps_product, etc.). No te asustes, es totalmente normal.
Paso 3: Ve a la pestaña "Exportar"
Una vez dentro de tu base de datos, mira la barra de navegación superior. Verás pestañas como Examinar, Estructura, SQL, Buscar, Consultas y, la que nos interesa, Exportar. Haz clic en ella.
Paso 4: Elige el método de exportación
phpMyAdmin te ofrecerá dos métodos:
- Rápido: Exporta todo sin opciones adicionales. Es la opción más sencilla.
- Personalizado: Te permite afinar detalles como qué tablas exportar o el nivel de compresión.
Para un backup prestashop estándar, te recomiendo el método Rápido. En el apartado de formato, asegúrate de que esté seleccionado SQL.
Paso 5: Descarga el archivo
Marca la casilla que dice "Guardar la salida en un archivo". Justo debajo, en "Nombre del archivo", puedes dejar el que viene por defecto (suele ser algo como tu_base_de_datos.sql). En "Tipo de compresión", elige "gzip" o "zlib". Esto creará un archivo mucho más pequeño y rápido de descargar.
Haz clic en el botón "Continuar" o "Exportar". Tu navegador comenzará a descargar el archivo .sql.gz. ¡Enhorabuena! Ya tienes tu exportar base datos prestashop completado. Guarda ese archivo en un lugar seguro, como un disco duro externo o un servicio de nube.
Cómo importar una base de datos en PrestaShop (Restaurar o Migrar)
Ahora viene la parte interesante. Puede que estés migrar prestashop a un servidor nuevo, o que necesites restaurar una copia de seguridad porque algo ha ido mal. El proceso es el mismo.
[WARNING]
Importar una base de datos sobrescribirá los datos existentes en la base de datos de destino. Si no estás seguro de lo que haces, haz una copia de seguridad de la base de datos actual antes de continuar.
Paso 1: Prepara tu base de datos de destino
Si estás migrando a un hosting nuevo, primero debes crear una base de datos vacía en el nuevo servidor. En cPanel se llama "MySQL Databases", en Syspanel (puerto 2106) también lo encontrarás en la sección de bases de datos. Crea la base de datos, un usuario y asígnale todos los privilegios. Anota estos datos.
Paso 2: Accede a phpMyAdmin en el destino
Entra en phpMyAdmin del servidor donde quieres importar los datos. Selecciona la base de datos vacía (o la que quieras sobrescribir) en el panel de la izquierda.
Paso 3: Ve a la pestaña "Importar"
En la barra superior, haz clic en la pestaña "Importar".
Paso 4: Selecciona el archivo de backup
Verás un recuadro que dice "Archivo a importar". Haz clic en el botón "Examinar" (o "Elegir archivo") y busca el archivo .sql.gz que descargaste anteriormente. Si el archivo es muy grande (más de 100 MB), es posible que tu hosting tenga un límite de subida. En ese caso, deberás descomprimir el archivo .sql y subirlo, o usar herramientas más avanzadas como la línea de comandos (pero eso ya es otro nivel).
Paso 5: Ejecuta la importación
Deja todas las demás opciones por defecto y haz clic en el botón "Continuar" o "Importar" en la parte inferior.
Paso 6: Espera y verifica
La importación puede tardar desde unos segundos hasta varios minutos, dependiendo del tamaño de tu catálogo. Verás una barra de progreso. Al finalizar, phpMyAdmin te mostrará un mensaje de éxito.
[INFO]
Si la importación falla a mitad de camino, es probable que el archivo sea demasiado grande o que haya un problema de límite de memoria PHP. Revisa el archivoconfig.inc.phpde PrestaShop y elphp.inide tu hosting para aumentarupload_max_filesizeymemory_limit.
Configurar PrestaShop después de la importación (Migración)
Si has hecho una migración completa a un servidor nuevo, importar la base de datos no es el último paso. Debes asegurarte de que PrestaShop pueda conectarse a ella.
1. Edita el archivo parameters.php
En la raíz de tu instalación de PrestaShop, dentro de la carpeta app/config/, encontrarás un archivo llamado parameters.php. Ábrelo con un editor de texto (como Notepad++).
Dentro verás una estructura PHP con los datos de conexión a la base de datos. Debes cambiar:
database_host: La dirección de tu nuevo servidor de base de datos (suele serlocalhost).database_name: El nombre de la nueva base de datos.database_user: El usuario de la nueva base de datos.database_password: La contraseña de ese usuario.
Guarda el archivo y súbelo a tu servidor si lo has editado en local.
2. Actualiza la URL de tu tienda
Si has cambiado el dominio, también deberás actualizar las URLs en la base de datos. Puedes hacerlo con una consulta SQL en phpMyAdmin. Ve a la pestaña SQL de tu base de datos importada y ejecuta:
UPDATE ps_shop_url SET domain = 'tunuevodominio.com', domain_ssl = 'tunuevodominio.com', physical_uri = '/';
Reemplaza tunuevodominio.com con tu dominio real y ps_ con el prefijo de tus tablas (si no lo has cambiado, suele ser ps_). También deberías revisar la tabla ps_configuration para buscar campos como PS_SHOP_DOMAIN y PS_SHOP_DOMAIN_SSL.
3. Limpia la caché
Para que todo funcione correctamente, borra la carpeta var/cache de tu instalación de PrestaShop (tanto cache/prod como cache/dev). Puedes hacerlo por FTP o desde el panel de archivos de tu hosting.
Preguntas frecuentes (FAQ) sobre importar y exportar en PrestaShop
¿Cuál es el prefijo de las tablas de PrestaShop?
El prefijo por defecto es ps_, pero puede ser distinto si tu tienda fue instalada con un prefijo personalizado. Puedes verlo en el archivo parameters.php o simplemente mirando la lista de tablas en phpMyAdmin.
Mi archivo de backup es demasiado grande y no puedo importarlo en phpMyAdmin
Es un problema muy común. Tienes varias opciones:
- Aumentar los límites de subida en el
php.ini(si tienes acceso). - Usar la herramienta "Importar" desde la línea de comandos (SSH) con el comando
mysql -u usuario -p nombre_bd < archivo.sql. - Dividir el archivo SQL en partes más pequeñas usando herramientas como
mysqldumpo scripts especializados.
[TIP]
Para evitar este problema en futuras exportaciones, si tu base de datos es enorme, exporta solo las tablas que necesitas o utiliza opciones de compresión más eficientes.
¿Puedo exportar solo algunas tablas?
Sí. En el método de exportación "Personalizado", puedes desmarcar las tablas que no quieras incluir (por ejemplo, tablas de logs antiguos). Esto puede ser útil para hacer copias de seguridad más ligeras, pero ten cuidado porque podrías perder datos importantes.
¿Es lo mismo una copia de seguridad de archivos que una de la base de datos?
No, son complementarias. Los archivos contienen el código, las imágenes y los módulos, pero sin la base de datos, PrestaShop no puede funcionar. Y viceversa: una base de datos sin los archivos es solo un montón de datos sin vida. Para un backup prestashop completo, siempre debes hacer ambas cosas.
¿Qué hago si después de importar la base de datos mi tienda da error de "Error de conexión a la base de datos"?
Esto casi siempre se debe a que los datos en parameters.php son incorrectos. Revisa el nombre de la base de datos, el usuario y la contraseña. Asegúrate de que el usuario tenga todos los privilegios sobre esa base de datos en particular.
¿Puedo usar esta guía para migrar entre dos servidores con Syspanel?
Por supuesto. Syspanel (accesible en el puerto 2106) incluye phpMyAdmin como parte de su panel. El proceso de exportar desde el servidor origen e importar en el servidor destino es idéntico. Solo asegúrate de que ambos servidores tengan la misma versión de PHP y MySQL/MariaDB para evitar incompatibilidades.
Errores comunes y cómo solucionarlos
Error "SQL query has been executed successfully" pero la tienda no muestra nada
Esto suele deberse a un problema de caché. Borra la carpeta var/cache como te indiqué antes. Si aún así no funciona, revisa los permisos de los archivos. Deben ser 755 para los directorios y 644 para los archivos.
Error "Table 'ps_shop_url' doesn't exist"
Esto significa que el prefijo de tus tablas no es ps_. Revisa el archivo parameters.php para ver el prefijo real y ajusta cualquier consulta SQL manual que vayas a ejecutar.
La importación se queda congelada en un 99%
Es bastante frustrante, pero puede pasar. A veces el servidor tiene un límite de tiempo de ejecución. Si tienes acceso a SSH, es mucho más fiable usar la línea de comandos. Si no, intenta dividir el archivo en partes más pequeñas.
Conclusión y buenas prácticas
Dominar el arte de prestashop importar base datos y exportar base datos prestashop te dará una tranquilidad increíble. Siempre estarás preparado para deshacer un error, migrar a un servidor más potente o simplemente hacer una copia de seguridad mensual.
Recuerda estas buenas prácticas:
- Programa copias de seguridad automáticas de tu base de datos y archivos. Muchos hostings ofrecen esta opción, y también hay módulos de PrestaShop que lo hacen.
- Guarda las copias en un lugar externo a tu hosting. Si tu servidor se cae, no querrás perder también tus copias.
- Anota siempre los datos de conexión de tu base de datos (nombre, usuario, contraseña) en un lugar seguro.
- Practica la importación en un entorno de pruebas antes de hacerla en producción. Así sabrás que el proceso funciona.
Espero que esta guía te haya sido de gran ayuda. Con un poco de práctica, verás que gestionar la base de datos de PrestaShop es como montar en bicicleta: una vez que lo aprendes, no se olvida. ¡Mucha suerte con tu tienda!
