Cómo migrar una base de datos de PrestaShop a otro servidor con cPanel
¿Necesitas mover tu tienda PrestaShop a un nuevo servidor y te preocupa perder los datos de tus productos, pedidos o clientes? No te preocupes, es un proceso común y, si sigues los pasos correctos, bastante sencillo. En esta guía detallada, te explicaré cómo migrar una base de datos de PrestaShop a otro servidor con cPanel de forma segura y sin contratiempos.
Imagina que tu tienda online es como una biblioteca. Los archivos (temas, módulos, imágenes) son los libros en los estantes, pero la base de datos es el catálogo que lo organiza todo: sabes qué libro está, dónde está, quién lo pidió prestado y cuándo. Migrar la base de datos es, esencialmente, mover ese catálogo completo a una nueva biblioteca (el nuevo servidor) sin perder ni un solo registro.
Vamos a dividir el proceso en dos grandes fases: exportar la base de datos desde tu servidor antiguo e importarla en el nuevo servidor con cPanel. Al final, haremos unos ajustes para que PrestaShop sepa dónde encontrar su catálogo ahora.
[INFO] Esta guía asume que ya tienes acceso a cPanel en tu nuevo servidor y que los archivos de PrestaShop (la carpeta completa) ya han sido transferidos (por ejemplo, vía FTP o el administrador de archivos de cPanel). Si no es así, ese es el primer paso antes de tocar la base de datos.
Fase 1: Exportar la base de datos desde el servidor original
Antes de mover nada, necesitas hacer una copia de seguridad de tu base de datos actual. Este es el paso más importante. Si algo sale mal, aquí tienes tu salvavidas.
1.1 Accede a phpMyAdmin en tu servidor actual
La herramienta más común para gestionar bases de datos en entornos de hosting es phpMyAdmin. La forma de acceder varía según tu panel de control:
- Si tu servidor actual usa cPanel: Busca la sección "Bases de datos" y haz clic en el icono de phpMyAdmin.
- Si tu servidor actual usa otro panel (como Plesk, DirectAdmin o Syspanel): Busca una opción similar. Por ejemplo, en Syspanel (que usa el puerto 2106), suele estar en "Bases de datos" -> "phpMyAdmin".
Una vez dentro, verás una lista de bases de datos a la izquierda. Haz clic en la base de datos que utiliza tu PrestaShop (normalmente tiene un nombre como tudominio_prestashop o similar).
1.2 Realiza la exportación (copia de seguridad)
Ahora que estás dentro de la base de datos correcta, sigue estos pasos:
- En la barra superior, haz clic en la pestaña "Exportar".
- En la sección "Método de exportación", selecciona la opción "Rápida" (mostrar solo algunas opciones).
- Asegúrate de que el formato seleccionado sea "SQL" (es el estándar para bases de datos).
- Haz clic en el botón "Continuar" o "Exportar".
[WARNING] No marques la opción "Agregar DROP TABLE / VIEW / PROCEDURE / FUNCTION...". Esto podría borrar tablas existentes en el destino si ya hay algo. Déjalo sin marcar.
Tu navegador descargará un archivo con extensión .sql. Este archivo contiene todo el "cerebro" de tu tienda: productos, clientes, pedidos, configuraciones, etc. Guárdalo en un lugar seguro de tu computadora. Es tu copia de seguridad maestra.
Fase 2: Preparar el nuevo servidor (cPanel o Syspanel)
Ahora pasamos al nuevo servidor. Aquí crearemos una base de datos vacía donde "verteremos" la información que acabamos de exportar.
2.1 Crear una base de datos y un usuario en cPanel
- Inicia sesión en cPanel de tu nuevo servidor.
- Busca la sección "Bases de datos" y haz clic en "Bases de datos MySQL".
- En "Crear nueva base de datos", escribe un nombre (por ejemplo,
prestashop_new) y haz clic en "Crear base de datos". - Baja un poco hasta la sección "Usuarios MySQL". Crea un nuevo usuario (por ejemplo,
presta_user) y asígnale una contraseña segura. Anota este usuario y contraseña, los necesitarás más adelante. - Ahora, en la sección "Agregar usuario a la base de datos", selecciona el usuario que acabas de crear y la base de datos que creaste. Haz clic en "Agregar".
- En la ventana que aparece, marca TODOS LOS PRIVILEGIOS y haz clic en "Realizar cambios".
¡Listo! Ya tienes una base de datos vacía y un usuario con todos los permisos para trabajar con ella.
[TIP] Si tu nuevo servidor usa Syspanel (puerto 2106), el proceso es similar. Busca "Bases de datos" -> "MySQL", crea la base de datos y el usuario, y luego asigna el usuario a la base de datos con todos los privilegios.
Fase 3: Importar la base de datos al nuevo servidor
Este es el momento crucial: volcar tu copia de seguridad en la nueva base de datos.
3.1 Importa el archivo SQL en phpMyAdmin del nuevo servidor
- Accede a phpMyAdmin desde el cPanel de tu nuevo servidor.
- A la izquierda, haz clic en el nombre de la base de datos que acabas de crear (la que está vacía).
- En la barra superior, haz clic en la pestaña "Importar".
- En "Archivo a importar", haz clic en "Seleccionar archivo" y elige el archivo
.sqlque descargaste en el Paso 1. - Deja el resto de opciones por defecto (formato SQL, etc.).
- Haz clic en el botón "Continuar" o "Importar".
Dependiendo del tamaño de tu base de datos (número de productos, pedidos, etc.), este proceso puede tardar desde unos segundos hasta varios minutos. Verás una barra de progreso. Cuando termine, aparecerá un mensaje verde de éxito: "La importación ha sido ejecutada correctamente".
[WARNING] Si el archivo es muy grande (más de 50MB, por ejemplo), cPanel podría tener un límite de subida. En ese caso, deberás usar una herramienta como BigDump o pedir a tu hosting que aumente el límite temporalmente. Otra opción es importar vía comandos SSH, pero eso es más técnico.
Fase 4: Configurar PrestaShop para usar la nueva base de datos
Ahora tu base de datos está en el nuevo servidor, pero PrestaShop no lo sabe. Necesitamos decirle dónde encontrarla. Esto se hace editando un archivo de configuración clave.
4.1 Edita el archivo app/config/parameters.php
Este archivo contiene las credenciales de conexión a la base de datos. Debes localizarlo en la carpeta donde has subido los archivos de PrestaShop en el nuevo servidor.
- Accede al Administrador de archivos de cPanel o a tu cliente FTP.
- Navega hasta la carpeta de tu tienda (ej:
public_html/prestashop/opublic_html/). - Abre la carpeta
app, luego la carpetaconfig. - Busca el archivo
parameters.php. Haz clic derecho y selecciona "Editar" (o descárgalo, edítalo con un editor de texto y súbelo de nuevo).
Verás un código PHP con varias líneas. Busca las siguientes y cámbialas por los datos de la base de datos que creaste en el nuevo servidor:
'database_host' => 'localhost', // Normalmente es 'localhost', cámbialo solo si tu hosting te da otro.
'database_port' => '',
'database_name' => 'prestashop_new', // El nombre de la base de datos que creaste.
'database_user' => 'presta_user', // El usuario que creaste.
'database_password' => 'LA_CONTRASEÑA_QUE_PUSISTE', // La contraseña del usuario.
[INFO] El
database_hostsuele serlocalhosten el 99% de los casos. Si tu hosting te proporciona un host remoto (algo comomysql.tudominio.com), cámbialo. Si no estás seguro, déjalo comolocalhost.
Guarda los cambios y cierra el archivo.
4.2 (Opcional pero recomendado) Limpiar la caché de PrestaShop
Para que los cambios surtan efecto de inmediato y evitar errores extraños, es buena idea borrar la caché.
- En tu servidor nuevo, dentro de la carpeta de PrestaShop, busca la carpeta
var/cache. - Dentro de
var/cache, verás subcarpetas comodevyprod. Borra todo el contenido de ambas carpetas (pero no las carpetas en sí). Si no puedes borrarlos, intenta renombrarlos adev_oldyprod_oldy crea carpetas nuevas vacías con los nombres originales.
Fase 5: Verificar la migración y solucionar problemas comunes
¡Casi estamos! Ahora es hora de probar que todo funciona.
5.1 Prueba de acceso
- Abre tu navegador y visita la URL de tu tienda en el nuevo servidor (ej:
tudominio.como una URL temporal que te haya dado tu hosting). - Si ves la tienda funcionando, con tus productos, categorías y clientes, ¡enhorabuena! La migración ha sido un éxito.
- Prueba el back office: Accede a
tudominio.com/adminXXXXX(donde XXXXX es el código de seguridad de tu PrestaShop). Inicia sesión con tus credenciales de administrador. Todo debería estar en su sitio.
5.2 Solución de problemas comunes (FAQ)
Aquí tienes una lista de los problemas más frecuentes y cómo solucionarlos:
- Error "Cannot connect to database" o "Error de conexión a la base de datos": Revisa los datos en
parameters.php. Asegúrate de que el nombre de la base de datos, el usuario y la contraseña son correctos. Verifica que el usuario tenga todos los privilegios sobre la base de datos. - Error "Table doesn't exist": La importación no se completó correctamente. Vuelve a importar el archivo SQL desde cero en phpMyAdmin.
- Página en blanco o error 500: Esto suele deberse a un problema de permisos de archivos o a una caché corrupta. Prueba a borrar de nuevo la carpeta
var/cache. Si persiste, verifica que los permisos de las carpetas sean 755 y los archivos 644. - Las imágenes no se ven: Las imágenes no están en la base de datos, sino en la carpeta
imgde tu PrestaShop. Asegúrate de que has transferido TODA la carpetaimg(y sus subcarpetas) desde el servidor antiguo al nuevo vía FTP. - Los enlaces apuntan al dominio antiguo: Si cambiaste de dominio, PrestaShop necesita saberlo. Deberás modificar la URL en la base de datos. Puedes hacerlo con una consulta SQL en phpMyAdmin:
Recuerda reemplazarUPDATE ps_configuration SET value = 'https://tunuevodominio.com' WHERE name IN ('PS_SHOP_DOMAIN', 'PS_SHOP_DOMAIN_SSL'); UPDATE ps_shop_url SET domain = 'tunuevodominio.com', domain_ssl = 'tunuevodominio.com';ps_por el prefijo de tus tablas (si lo cambiaste) ytunuevodominio.compor tu dominio real.
[TIP] Si no te sientes cómodo editando la base de datos directamente, puedes usar el módulo gratuito "PrestaShop Cleaner" o herramientas como "Search and Replace" para cambiar URLs de forma segura.
Resumen rápido de la migración
Para que no te pierdas, aquí tienes el checklist definitivo:
- ✅ Exporta la base de datos desde phpMyAdmin del servidor antiguo (archivo
.sql). - ✅ Crea una nueva base de datos y un usuario en cPanel del nuevo servidor.
- ✅ Importa el archivo
.sqlen la nueva base de datos vía phpMyAdmin. - ✅ Edita
app/config/parameters.phpcon los nuevos datos de conexión. - ✅ Borra la carpeta
var/cachepara limpiar la caché. - ✅ Prueba el front office y el back office de tu tienda.
Migrar una base de datos de PrestaShop a otro servidor con cPanel no tiene por qué ser una pesadilla. Siguiendo esta guía paso a paso, te aseguras de que tu "catálogo" llegue intacto a su nuevo hogar. Recuerda siempre hacer una copia de seguridad antes de empezar y, si algo sale mal, vuelve a empezar desde el principio. ¡Buena suerte con tu migración!
