Guía paso a paso para migrar una base de datos de PrestaShop a otro servidor
¿Necesitas mover tu tienda PrestaShop a un servidor más rápido, más barato o simplemente quieres cambiar de hosting? No te preocupes, es un proceso más sencillo de lo que parece si sigues los pasos correctos.
En esta guía paso a paso te voy a explicar exactamente cómo migrar base de datos de PrestaShop a otro servidor usando herramientas como phpMyAdmin y comandos de MySQL. Al final del artículo, también encontrarás una sección de preguntas frecuentes (FAQ) para resolver tus dudas más comunes.
Vamos a ello. Tómate tu tiempo, lee con atención y, sobre todo, no te saltes ningún paso de seguridad.
¿Qué necesitas antes de empezar?
Antes de lanzarte a migrar, asegúrate de tener todo esto a mano:
- Acceso al panel de control del servidor antiguo (cPanel, Plesk, Syspanel, etc.).
- Acceso al panel de control del servidor nuevo (el destino).
- Credenciales de la base de datos actual (nombre, usuario, contraseña, host).
- Una copia de seguridad completa de los archivos de PrestaShop (no solo la base de datos, por si acaso).
- Herramientas: phpMyAdmin (suele venir instalado en casi todos los paneles) o acceso por línea de comandos (SSH) si te sientes más avanzado.
[WARNING] No empieces la migración si no tienes una copia de seguridad de seguridad. Un error puede borrar datos importantes. Haz siempre una copia de seguridad completa de la base de datos original.
Paso 1: Accede a tu base de datos actual
El primer paso es localizar y acceder a la base de datos que quieres migrar.
1.1. Encuentra los datos de conexión
Normalmente, estos datos están en el archivo app/config/parameters.php de tu instalación de PrestaShop. Ábrelo con un editor de texto y busca líneas como:
'database_host' => 'localhost',
'database_name' => 'tu_basededatos',
'database_user' => 'tu_usuario',
'database_password' => 'tu_contraseña',
Anota estos valores en un bloc de notas. Los necesitarás más adelante.
1.2. Entra a phpMyAdmin
Desde el panel de control de tu hosting antiguo (cPanel, Syspanel, etc.), busca el icono de phpMyAdmin. Si usas Syspanel (HestiaCP), recuerda que el puerto de acceso es el 2106. Por ejemplo: https://tudominio.com:2106.
Una vez dentro, selecciona la base de datos que aparece en el archivo parameters.php. Verás una lista de tablas con prefijos como ps_ o prestashop_.
[TIP] Si no ves tu base de datos, asegúrate de haber iniciado sesión con el usuario y contraseña correctos. A veces hay varias bases en el mismo servidor.
Paso 2: Exporta la base de datos original
Ahora vas a crear un archivo .sql con toda la información de tu tienda: productos, pedidos, clientes, configuraciones, etc.
2.1. Selecciona la base de datos
En phpMyAdmin, haz clic sobre el nombre de tu base de datos en el panel izquierdo. Luego ve a la pestaña Exportar.
2.2. Configura la exportación
Te aparecerán dos métodos: Rápido y Personalizado. Te recomiendo usar Personalizado para tener más control.
Marca las siguientes opciones:
- Método de exportación: Personalizado.
- Formato: SQL.
- Compatibilidad: MySQL 5.x o 8.x (según tu versión de PrestaShop).
- Agregar DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT: Sí (esto borrará las tablas existentes en el destino antes de importar, evitando conflictos).
- Agregar IF NOT EXISTS: No es necesario.
- Enviar: Marca “Guardar como archivo” y selecciona “Comprimido” (gzip o zip) para que pese menos.
Haz clic en Continuar o Exportar. Se descargará un archivo con extensión .sql.gz o .sql.zip.
[INFO] Si tu base de datos es muy grande (más de 100 MB), la exportación por phpMyAdmin puede fallar. En ese caso, usa la línea de comandos (SSH) con el comando:
mysqldump -u usuario -p nombre_bd > respaldo.sql
Paso 3: Prepara el servidor de destino
Antes de importar, necesitas tener una base de datos vacía en el nuevo servidor.
3.1. Crea una nueva base de datos
Accede al panel de control del nuevo servidor (Syspanel, cPanel, etc.) y busca la sección de Bases de Datos MySQL. Crea una nueva base de datos con un nombre claro, por ejemplo: prestashop_nueva.
También crea un usuario y asígnale todos los privilegios sobre esa base. Anota:
- Nombre de la base de datos:
prestashop_nueva - Usuario:
usuario_nuevo - Contraseña:
contraseña_nueva - Host: normalmente
localhost
3.2. Abre phpMyAdmin en el servidor nuevo
Igual que antes, desde el panel de control del nuevo hosting, abre phpMyAdmin. Selecciona la base de datos que acabas de crear (debería aparecer vacía, sin tablas).
Paso 4: Importa la base de datos en el nuevo servidor
Este es el paso crítico. Vas a subir el archivo .sql que exportaste.
4.1. Sube el archivo comprimido
En phpMyAdmin, con la base de datos vacía seleccionada, ve a la pestaña Importar.
- Archivo a importar: Haz clic en “Seleccionar archivo” y elige el
.sql.gzo.sql.zipque descargaste. - Compresión: phpMyAdmin detecta automáticamente si está comprimido.
- Formato: SQL.
Haz clic en Continuar o Importar. Dependiendo del tamaño, puede tardar desde unos segundos hasta varios minutos.
[WARNING] No cierres la ventana ni recargues la página mientras se importa. Si la importación se corta, tendrás que empezar de nuevo. Si la base es muy grande, mejor usa la línea de comandos:
mysql -u usuario_nuevo -p prestashop_nueva < respaldo.sql
4.2. Verifica la importación
Una vez terminado, verás un mensaje de éxito. Luego, en el panel izquierdo de phpMyAdmin, haz clic sobre el nombre de la base de datos y deberías ver todas las tablas (normalmente más de 200). Si ves menos, algo falló.
Paso 5: Actualiza la configuración de PrestaShop
Ahora tu base de datos está en el nuevo servidor, pero PrestaShop todavía apunta a la antigua. Hay que cambiar los datos de conexión.
5.1. Modifica el archivo parameters.php
Localiza el archivo app/config/parameters.php en tu instalación de PrestaShop (en el servidor nuevo, si ya subiste los archivos, o en el antiguo si aún no los mueves).
Edítalo con un editor de texto y cambia los valores por los de la nueva base de datos:
'database_host' => 'localhost', // O la IP del nuevo servidor si no es localhost
'database_name' => 'prestashop_nueva',
'database_user' => 'usuario_nuevo',
'database_password' => 'contraseña_nueva',
Guarda los cambios.
[TIP] Si también cambiaste de dominio o de ruta de instalación, revisa las líneas
'database_prefix'y'cookie_key'. Normalmente no se tocan, pero si algo falla, puedes regenerar la cookie key desde el back office de PrestaShop después de la migración.
5.2. (Opcional) Limpia la caché de PrestaShop
Para evitar errores extraños, borra la carpeta var/cache (o cache en versiones antiguas) de tu instalación de PrestaShop. Puedes hacerlo manualmente o desde el back office yendo a Parámetros de la tienda > Rendimiento > Limpiar caché.
Paso 6: Prueba la migración
Antes de dar el salto definitivo, verifica que todo funcione.
6.1. Accede al front office
Escribe la URL de tu tienda (con el nuevo dominio o IP) y comprueba que se vea correctamente. Navega por algunas categorías y productos.
6.2. Accede al back office
Entra a /admin (o la URL que tengas configurada) e inicia sesión con tus credenciales habituales. Revisa que los pedidos, clientes y módulos estén ahí.
6.3. Comprueba los enlaces
Si cambiaste de dominio, es posible que algunos enlaces internos sigan apuntando al antiguo. En PrestaShop 1.7 y superiores, ve a Configuración de la tienda > Parámetros generales y actualiza la URL de la tienda si es necesario.
[INFO] Si ves errores de base de datos (por ejemplo, “Table not found”), revisa que el prefijo de las tablas en
parameters.phpcoincida con el real. A veces la exportación/importación cambia el prefijo.
Preguntas frecuentes (FAQ) sobre migrar base de datos de PrestaShop
Aquí respondo las dudas más comunes que me suelen preguntar los clientes.
¿Puedo migrar solo la base de datos sin los archivos?
Sí, pero no es recomendable. La base de datos contiene los datos, pero los archivos (imágenes, módulos, temas) también son necesarios. Si solo migras la base, tu tienda se verá sin fotos y con el diseño antiguo. Lo ideal es migrar todo (archivos + base de datos).
¿Qué hago si la importación falla por tamaño?
Usa la línea de comandos (SSH) con los comandos que te mencioné antes. Si no tienes acceso SSH, pide a tu hosting que aumente el límite de subida en phpMyAdmin o divide el archivo SQL en partes más pequeñas con herramientas como BigDump.
¿Pierdo los pedidos o clientes al migrar?
No, si haces la migración correctamente, todos los datos se conservan. Solo asegúrate de exportar la base de datos completa y no solo algunas tablas.
¿Necesito cambiar algo en el archivo .htaccess?
Si cambias de dominio, sí. Después de migrar, ve a Configuración de la tienda > Tráfico y SEO > URLs amigables y guarda la configuración para regenerar el .htaccess. Si no, puedes editarlo manualmente y cambiar las rutas antiguas.
¿Qué pasa si uso Syspanel (HestiaCP)?
Ningún problema. El proceso es el mismo. Solo recuerda que el puerto de acceso a phpMyAdmin es el 2106 (por ejemplo, https://tudominio.com:2106). También puedes crear la base de datos desde la sección Bases de Datos de Syspanel.
¿Puedo migrar entre versiones diferentes de MySQL?
Sí, pero ten cuidado. PrestaShop suele funcionar bien con MySQL 5.7 y 8.0. Si pasas de una versión muy antigua a una muy nueva, algunos módulos pueden fallar. Lo mejor es mantener la misma versión o probar en un entorno de desarrollo antes.
Conclusión
Migrar una base de datos de PrestaShop no es magia negra. Con phpMyAdmin y un poco de paciencia, puedes hacerlo tú mismo en menos de una hora. Solo recuerda:
- Siempre haz copias de seguridad.
- Exporta correctamente usando el método personalizado.
- Importa en una base vacía en el nuevo servidor.
- Actualiza el archivo
parameters.phpcon los nuevos datos. - Prueba todo antes de anunciar el cambio.
Si sigues esta guía paso a paso, tu tienda estará funcionando en el nuevo servidor sin perder ni un solo pedido. ¿Te ha quedado alguna duda? Déjala en los comentarios y te ayudaré encantado.
¡Buena suerte con tu migración!
