Guía para migrar una base de datos de PrestaShop a un nuevo servidor
Migrar la base de datos de tu tienda PrestaShop a un nuevo servidor puede sonar a una tarea de alto voltaje, pero en realidad es un proceso muy mecánico si sigues los pasos correctos. Piensa en ello como mudar la caja fuerte de tu tienda: lo importante no es mover la caja (el servidor), sino asegurarte de que todo el dinero (los datos) llegue intacto y en orden.
Esta guía para migrar una base de datos de PrestaShop a un nuevo servidor está diseñada para que cualquier persona, aunque no sea un experto en bases de datos, pueda realizarla sin perder información valiosa. Vamos a desglosar el proceso en fases muy claras, desde la preparación hasta la verificación final.
1. Preparación: La clave para un PrestaShop cambio servidor sin errores
Antes de tocar nada, debes preparar el terreno. Una migración exitosa empieza mucho antes de exportar el primer archivo.
1.1. Haz una copia de seguridad completa (No te saltes este paso)
[WARNING] Este es el paso más importante. Si algo sale mal, tu copia de seguridad es tu salvavidas. Nunca migres sin tener un respaldo.
Realiza una copia de seguridad de:
- Archivos del sitio (la carpeta
public_htmlowwwde tu PrestaShop). - La base de datos actual (desde phpMyAdmin o la terminal).
- Los archivos de configuración (especialmente
app/config/parameters.php).
1.2. Prepara el nuevo servidor
Asegúrate de que tu nuevo hosting o servidor VPS cumpla con los requisitos de PrestaShop (versión de PHP, MySQL, extensiones, etc.). Si usas un panel como Syspanel (accesible por el puerto 2106), verifica que tengas creada una base de datos vacía y un usuario con todos los privilegios sobre ella.
Lista de verificación previa:
- Servidor con PHP 7.4 o superior (según tu versión de PrestaShop).
- MySQL 5.6+ o MariaDB 10.1+.
- Extensión
mysqliyPDOhabilitadas. - Espacio en disco suficiente para la base de datos (al menos el doble del tamaño actual).
- Credenciales de la nueva base de datos (nombre, usuario, contraseña, host).
2. Exportar la base de datos actual (Exportar importar base de datos PrestaShop)
El primer movimiento técnico es exportar importar base de datos PrestaShop desde el servidor origen. Vamos a usar la herramienta más común: phpMyAdmin.
2.1. Accede a phpMyAdmin en tu servidor actual
- Ve a
http://tudominio.com/phpmyadmino accede desde el panel de control de tu hosting (cPanel, Syspanel, etc.). - Inicia sesión con las credenciales de tu base de datos (aparecen en el archivo
app/config/parameters.phpde tu PrestaShop).
2.2. Selecciona la base de datos de PrestaShop
En el panel izquierdo, haz clic en el nombre de la base de datos que usa tu tienda (normalmente algo como tuprefix_ps o nombre_del_sitio).
2.3. Exporta la base de datos
- Ve a la pestaña Exportar.
- Elige el método Personalizado (no el rápido).
- Selecciona todas las tablas (por defecto ya están marcadas).
- En Formato: elige SQL.
- En Opciones específicas para el formato:
- Marca "Añadir DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT" (esto evitará conflictos si ya existen tablas en el destino).
- Marca "Añadir IF NOT EXISTS".
- En "Modo de creación de tablas": elige CREATE TABLE.
- En "Modo de inserción de datos": elige INSERT.
- Marca "Encerrar nombres de tablas y campos entre comillas".
- Marca "Exportar como archivo" y elige compresión gzip o zip (para que pese menos).
- Haz clic en Continuar y descarga el archivo
.sql.gz(o.sql).
[TIP] Si tu base de datos es muy grande (más de 500 MB), es mejor usar la línea de comandos o herramientas como mysqldump para evitar tiempos de espera en phpMyAdmin. Si no tienes acceso SSH, pide a tu soporte técnico que lo haga.
3. Importar la base de datos al nuevo servidor (Migración MySQL PrestaShop)
Ahora llevamos los datos al destino. Este es el momento de la migración MySQL PrestaShop propiamente dicha.
3.1. Sube el archivo SQL al nuevo servidor
Puedes hacerlo de dos formas:
Opción A: Subir el archivo SQL a una carpeta temporal (recomendado para archivos grandes)
- Usa FTP (FileZilla, Cyberduck) o el administrador de archivos de tu panel (Syspanel, cPanel) para subir el archivo
.sql(sin comprimir) a una carpeta temporal, por ejemplopublic_html/temp/. - Luego, desde phpMyAdmin del nuevo servidor, ve a la pestaña Importar.
- Haz clic en Seleccionar archivo y busca el archivo que subiste.
- Haz clic en Continuar. Esto puede tardar varios minutos si la base es grande.
Opción B: Subir el archivo comprimido directamente
- En phpMyAdmin del nuevo servidor, ve a Importar.
- Selecciona el archivo
.sql.gzo.zipque descargaste. - Haz clic en Continuar. phpMyAdmin descomprimirá e importará automáticamente.
[WARNING] Si la importación falla por tiempo de ejecución, sube el archivo .sql sin comprimir y aumenta los límites de max_execution_time y upload_max_filesize en el archivo php.ini de tu nuevo servidor. En Syspanel, puedes hacerlo desde la sección PHP Settings o pidiendo a soporte que lo ajuste.
3.2. Verifica la importación
Una vez terminado, en phpMyAdmin verás todas las tablas de PrestaShop (generalmente unas 200-300 tablas). Revisa que el número de tablas coincida con el original.
4. Configurar PrestaShop para conectar con la nueva base de datos
Ahora que los datos están en el nuevo servidor, debes decirle a PrestaShop dónde encontrarlos.
4.1. Edita el archivo de configuración
Ubica el archivo app/config/parameters.php en tu instalación de PrestaShop (si tienes PrestaShop 1.6, es config/settings.inc.php).
Abre el archivo con un editor de texto (Notepad++, Sublime Text, etc.) y busca estas líneas:
'database_host' => 'localhost',
'database_port' => '',
'database_name' => 'nombre_base_antigua',
'database_user' => 'usuario_antiguo',
'database_password' => 'contraseña_antigua',
Cámbialas por los datos de tu nueva base de datos:
'database_host' => 'localhost', // o la IP del servidor de base de datos si es remoto
'database_port' => '3306',
'database_name' => 'nuevo_nombre_base',
'database_user' => 'nuevo_usuario',
'database_password' => 'nueva_contraseña',
[INFO] Si tu base de datos está en el mismo servidor, database_host suele ser localhost. Si está en un servidor separado, usa la IP o el nombre del host.
4.2. Sube los archivos de PrestaShop al nuevo servidor
Si aún no has movido los archivos de tu tienda (temas, módulos, imágenes), súbelos ahora mediante FTP a la carpeta public_html del nuevo servidor. Asegúrate de que la estructura de carpetas sea la misma que en el origen.
5. Probar la migración y solucionar errores comunes
Este es el momento de la verdad. Accede a tu tienda en el nuevo servidor: http://nuevodominio.com o http://IP_del_servidor.
5.1. Errores típicos y cómo resolverlos
- Error "Cannot connect to the database": Revisa las credenciales en
parameters.php. Asegúrate de que el usuario tenga acceso a la base de datos. - Página en blanco (error 500): Activa el modo de depuración de PrestaShop editando
config/defines.inc.phpy cambiando_PS_MODE_DEV_atrue. Te mostrará el error real. - Tablas faltantes: La importación no se completó. Vuelve a importar la base de datos usando la línea de comandos o divide el archivo SQL en partes más pequeñas.
- Enlaces rotos (imágenes, CSS): Regenera las miniaturas de imágenes desde el panel de administración (Parámetros de la tienda > Imágenes > Regenerar miniaturas). También puedes limpiar la caché de PrestaShop.
5.2. Prueba funcional completa
Realiza estas comprobaciones básicas:
- Inicia sesión en el panel de administración (tu-dominio.com/admin1234).
- Navega por la tienda como cliente: añade productos al carrito, simula un pedido (puedes usar el modo de pruebas).
- Verifica los módulos: que estén activos y funcionando (especialmente los de pago y envío).
- Comprueba los enlaces: que las URLs de productos, categorías y páginas estáticas funcionen.
[TIP] Si usas un CDN (Cloudflare, etc.), purga la caché después de la migración para que los visitantes vean la versión nueva.
6. Consideraciones finales para una migración exitosa
6.1. Actualiza las URLs en PrestaShop
Si cambiaste de dominio, ve a Parámetros de la tienda > Tráfico y SEO y actualiza la URL base de tu tienda (tanto la segura como la no segura). Luego, regenera el archivo .htaccess desde la misma sección (haciendo clic en "Guardar" sin cambiar nada).
6.2. Limpia la caché de PrestaShop
Desde el panel de administración, ve a Parámetros avanzados > Rendimiento y haz clic en Limpiar caché. También puedes borrar manualmente la carpeta var/cache (o cache en PrestaShop 1.6) mediante FTP.
6.3. No borres la base de datos antigua hasta estar seguro
Mantén la base de datos original intacta durante al menos una semana después de la migración. Si detectas algún error crítico, puedes volver atrás fácilmente.
Preguntas frecuentes (FAQ) sobre migrar base de datos PrestaShop
¿Puedo migrar la base de datos sin mover los archivos?
No, necesitas ambos. La base de datos contiene los datos (productos, pedidos, clientes) y los archivos contienen el código, imágenes y temas. Debes mover todo junto.
¿Qué hago si la base de datos es demasiado grande para phpMyAdmin?
Usa la línea de comandos con mysqldump para exportar y mysql para importar. Si no tienes acceso SSH, pide a tu hosting que lo hagan o divide el archivo SQL en partes de 50 MB usando herramientas como BigDump (un script PHP que importa archivos grandes).
¿Se pierden los pedidos en curso durante la migración?
Si la migración se hace en caliente (con la tienda activa), sí, podrías perder pedidos que se estén procesando en ese momento. Lo ideal es poner la tienda en modo mantenimiento durante la migración (Parámetros de la tienda > Mantenimiento).
¿Necesito cambiar algo en el archivo .htaccess?
Solo si cambiaste de dominio. En ese caso, PrestaShop regenera el .htaccess automáticamente al guardar la configuración de SEO. Si no, déjalo como está.
¿Cuánto tiempo tarda la migración?
Depende del tamaño de la base de datos y la velocidad del servidor. Una base de datos de 200 MB puede tardar entre 5 y 20 minutos en importarse. La preparación y verificación pueden sumar otra hora.
Resumen rápido de la guía para migrar una base de datos de PrestaShop a un nuevo servidor
- Prepara: Copia de seguridad, nuevo servidor con base de datos vacía.
- Exporta: Usa phpMyAdmin o mysqldump para obtener un archivo SQL.
- Importa: Sube el archivo al nuevo servidor e impórtalo.
- Configura: Edita
parameters.phpcon las nuevas credenciales. - Prueba: Navega, haz pedidos de prueba y verifica módulos.
- Limpia: Caché, regenera miniaturas y actualiza URLs si es necesario.
[TIP] Si usas Syspanel, recuerda que el acceso a phpMyAdmin suele estar disponible desde el propio panel (puerto 2106) y que puedes gestionar las bases de datos desde la sección Bases de datos del panel. No dudes en contactar con el soporte técnico de tu hosting si tienes dudas con los permisos o los límites de subida.
Con esta guía detallada, migrar base de datos PrestaShop deja de ser un misterio. Solo necesitas paciencia, seguir los pasos al pie de la letra y, sobre todo, tener esa copia de seguridad siempre a mano. ¡Buena suerte con tu mudanza digital!
