Migrar base de datos de PrestaShop de un servidor a otro: Guía completa
Migrar una tienda online es un paso importante, ya sea por mejorar el rendimiento, cambiar de proveedor de hosting o escalar tu negocio. Uno de los pasos más críticos en este proceso es la migración de la base de datos de PrestaShop. En esta guía completa, te explicaré paso a paso cómo realizar una migrar base de datos de un servidor a otro, asegurando que tu cambio de servidor sea exitoso y sin pérdida de información.
¿Qué necesitas saber antes de migrar tu base de datos de PrestaShop?
Antes de comenzar, es fundamental entender que la base de datos de PrestaShop contiene toda la información de tu tienda: productos, clientes, pedidos, configuraciones, módulos, etc. Por lo tanto, un error en este proceso puede dejarte sin tienda temporalmente. Por eso, la preparación es clave.
Requisitos previos
Para realizar la migración de forma segura, necesitarás:
- Acceso al panel de control del servidor antiguo (cPanel, Syspanel, Plesk, etc.)
- Acceso al panel de control del servidor nuevo
- Credenciales de la base de datos antigua (nombre de la BD, usuario y contraseña)
- Herramienta de gestión de bases de datos (phpMyAdmin, Adminer, o línea de comandos)
- Copia de seguridad completa de tu tienda (archivos y base de datos)
- Paciencia y una conexión a internet estable
[WARNING] No realices la migración en horario de alta afluencia de clientes. Programa la migración en un momento de bajo tráfico para minimizar el impacto.
Paso 1: Preparar la base de datos en el servidor antiguo
El primer paso para migrar base de datos es preparar la información para su exportación. Asegúrate de que tu tienda esté en modo mantenimiento para evitar cambios durante el proceso.
Cómo activar el modo mantenimiento en PrestaShop
- Accede al panel de administración de tu PrestaShop.
- Ve a Parámetros de la tienda > Mantenimiento.
- Activa la opción Sí en "Activar el modo de mantenimiento".
- Opcionalmente, añade una dirección IP para que puedas acceder tú mismo a la tienda.
- Guarda los cambios.
Localizar los datos de conexión a la base de datos
Necesitarás el nombre de la base de datos, el usuario y la contraseña. Puedes encontrarlos en el archivo app/config/parameters.php de tu instalación de PrestaShop. Busca las líneas:
'database_host' => 'localhost',
'database_name' => 'nombre_de_tu_bd',
'database_user' => 'usuario_de_tu_bd',
'database_password' => 'contraseña_de_tu_bd',
Apunta estos datos, los necesitarás más adelante.
Paso 2: Exportar la base de datos desde el servidor antiguo
Ahora vamos a exportar la base de datos. Utilizaremos phpMyAdmin, que es la herramienta más común y fácil de usar.
Exportación con phpMyAdmin
- Accede a phpMyAdmin desde el panel de control de tu hosting antiguo (por ejemplo, desde Syspanel, busca "phpMyAdmin" en el puerto 2106).
- Selecciona la base de datos de tu PrestaShop en la columna izquierda.
- Haz clic en la pestaña Exportar.
- Elige el método Rápido y el formato SQL.
- Marca la opción "Agregar DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT" (esto asegura que no haya conflictos al importar).
- Haz clic en Continuar o Exportar.
- Se descargará un archivo con extensión
.sql. Guárdalo en un lugar seguro.
[TIP] Si tu base de datos es muy grande (más de 50 MB), es mejor usar la opción Personalizado y seleccionar "Comprimido" (gzip o zip) para reducir el tamaño del archivo.
Alternativa: Exportar por línea de comandos (SSH)
Si tienes acceso SSH al servidor antiguo, puedes usar este comando más rápido:
mysqldump -u usuario -p nombre_bd > respaldo_prestashop.sql
Te pedirá la contraseña y generará el archivo respaldo_prestashop.sql.
Paso 3: Crear la base de datos en el servidor nuevo
Antes de importar los datos, necesitas tener una base de datos vacía en el nuevo servidor.
Crear base de datos desde Syspanel
- Accede a tu Syspanel (puerto 2106).
- Busca la sección Bases de Datos o MySQL.
- Haz clic en Añadir Base de Datos.
- Introduce un nombre para la base de datos (por ejemplo,
tienda_prestashop). - Crea un usuario y una contraseña segura. Apunta estos datos.
- Asigna todos los privilegios al usuario sobre esa base de datos.
- Guarda los cambios.
Crear base de datos desde cPanel
- Busca la sección Bases de Datos MySQL.
- En Crear nueva base de datos, escribe el nombre y haz clic en Crear.
- En Usuarios MySQL, crea un nuevo usuario con contraseña.
- Ve a Añadir usuario a la base de datos y asigna todos los privilegios.
Paso 4: Importar la base de datos en el servidor nuevo
Una vez que tengas la base de datos vacía, procedemos a importar el archivo SQL que exportaste.
Importación con phpMyAdmin
- Accede a phpMyAdmin desde el panel de control del servidor nuevo.
- Selecciona la base de datos que acabas de crear.
- Haz clic en la pestaña Importar.
- Haz clic en Seleccionar archivo y elige el archivo
.sqlque exportaste. - Si el archivo está comprimido (zip, gz), phpMyAdmin lo detectará automáticamente.
- Deja las opciones por defecto y haz clic en Continuar.
- Espera a que termine el proceso. Verás un mensaje de éxito.
[WARNING] Si el archivo es muy grande, puede exceder el límite de subida de phpMyAdmin. En ese caso, usa la línea de comandos o divide el archivo SQL en partes más pequeñas.
Importación por línea de comandos (SSH)
Si tienes acceso SSH al servidor nuevo:
mysql -u usuario_nuevo -p nombre_bd_nueva < respaldo_prestashop.sql
Ingresa la contraseña cuando se solicite. Este método es más rápido y no tiene límite de tamaño.
Paso 5: Configurar la conexión a la nueva base de datos en PrestaShop
Ahora que los datos están en el nuevo servidor, debes indicarle a PrestaShop que use esta nueva base de datos.
Modificar el archivo app/config/parameters.php
- Conéctate al servidor nuevo vía FTP o desde el panel de archivos de Syspanel.
- Navega a la carpeta
app/config/. - Descarga el archivo
parameters.phpy ábrelo con un editor de texto. - Modifica las siguientes líneas con los datos de la nueva base de datos:
'database_host' => 'localhost', // Normalmente es localhost
'database_name' => 'nombre_bd_nueva',
'database_user' => 'usuario_nuevo',
'database_password' => 'contraseña_nueva',
[INFO] El
database_hostsuele serlocalhost, pero si tu hosting usa un servidor de bases de datos externo, te proporcionarán una dirección IP o un nombre de host.
- Guarda el archivo y súbelo de nuevo al servidor, sobrescribiendo el original.
Verificar la conexión
Accede a la URL de tu tienda en el nuevo servidor. Si todo está correcto, verás tu tienda funcionando. Si aparece un error de conexión a la base de datos, revisa las credenciales.
Paso 6: Probar la tienda y solucionar problemas comunes
Después de la migración, es crucial realizar pruebas exhaustivas.
Lista de verificación post-migración
- Página de inicio: ¿Se carga sin errores?
- Productos: ¿Se ven correctamente las imágenes y descripciones?
- Carrito de compra: ¿Funciona añadir productos al carrito?
- Proceso de pago: ¿Se completa sin problemas?
- Panel de administración: ¿Puedes iniciar sesión?
- URLs: ¿Las URLs amigables funcionan? (Puede requerir regenerar el .htaccess desde el back office)
- Módulos: ¿Están activos y funcionando?
Problemas frecuentes y soluciones
- Error de conexión a la base de datos: Revisa los datos en
parameters.phpy asegúrate de que el usuario tenga privilegios. - Imágenes rotas: Las rutas de las imágenes pueden cambiar. Ve a Parámetros de la tienda > Rendimiento y regenera las miniaturas.
- Enlaces rotos: Si cambiaste el dominio, actualiza la URL en Parámetros de la tienda > Tráfico y SEO.
- Módulos desactivados: Actívalos manualmente desde el back office.
[TIP] Si usas Syspanel, puedes usar el Administrador de archivos para modificar
parameters.phpsin necesidad de FTP.
Preguntas frecuentes (FAQ) sobre migrar base de datos de PrestaShop
¿Puedo migrar la base de datos sin perder pedidos o clientes?
Sí, siempre que exportes la base de datos en un momento en que no se estén realizando pedidos. Activar el modo mantenimiento es la mejor práctica.
¿Qué hago si el archivo SQL es demasiado grande para phpMyAdmin?
Puedes usar la línea de comandos (SSH) o herramientas como BigDump. También puedes dividir el archivo SQL en partes más pequeñas con herramientas como Split SQL.
¿Necesito cambiar algo en la base de datos después de importarla?
Generalmente no, pero si cambiaste la URL de la tienda, deberás actualizar las URLs en la tabla ps_configuration y ps_shop_url. También es recomendable limpiar la caché de PrestaShop.
¿Cómo sé que la migración fue exitosa?
Realiza una compra de prueba (con un método de pago en modo prueba) y verifica que el pedido aparezca en el back office. También revisa que los informes de ventas coincidan.
¿Puedo usar Syspanel para gestionar la base de datos?
Sí, Syspanel incluye phpMyAdmin en el puerto 2106. Accede a tu panel, busca "Bases de Datos" y luego "phpMyAdmin". Es una herramienta muy útil para exportar e importar bases de datos.
Consejos finales para un cambio de servidor sin contratiempos
- Haz siempre una copia de seguridad de la base de datos y los archivos antes de empezar.
- Prueba la migración en un entorno de desarrollo si es posible, para evitar sorpresas en producción.
- Actualiza las URLs en PrestaShop si cambiaste de dominio.
- Revisa los logs de errores de tu servidor para detectar problemas ocultos.
- Desactiva el modo mantenimiento solo cuando estés seguro de que todo funciona.
Migrar una base de datos de PrestaShop puede parecer complejo, pero siguiendo esta guía paso a paso, podrás realizar un cambio de servidor de forma segura y eficiente. Recuerda que la clave está en la preparación y en probar cada paso. ¡Buena suerte con tu migración!
