Cómo migrar una base de datos de PrestaShop a otro servidor (cPanel o DirectAdmin)
Antes de Empezar: ¿Qué Necesitas y Por Qué Migrar tu Base de Datos?
Migrar una tienda online puede parecer una tarea titánica, pero con la guía adecuada, es un proceso mucho más sencillo de lo que imaginas.
El corazón de tu PrestaShop es su base de datos (BD). Ahí se guardan tus productos, clientes, pedidos, configuraciones y contraseñas.
Si tu web va lenta, tu servidor está saturado o simplemente quieres cambiar de proveedor de hosting, migrar PrestaShop es un paso obligatorio.
En este artículo, te explicaré paso a paso cómo mover tu base de datos prestashop a un nuevo servidor, ya sea usando cPanel o DirectAdmin.
No necesitas ser un experto, solo seguir las instrucciones al pie de la letra. Vamos a ello.
Paso 1: Preparativos Iniciales Antes de Migrar la BD
Antes de tocar nada, es fundamental hacer una copia de seguridad y preparar el terreno.
Un error aquí puede costarte datos valiosos, así que tómate tu tiempo.
1.1. Pon tu Tienda en Modo Mantenimiento
Esto evitará que los clientes realicen pedidos mientras mueves los datos.
En el panel de administración de PrestaShop, ve a Parámetros Avanzados > Rendimiento y activa el modo mantenimiento.
También puedes poner un mensaje bonito para tus visitantes, como "Estamos mejorando para ti".
1.2. Reúne tus Credenciales de Acceso
Necesitarás tener a mano:
- Usuario y contraseña de la base de datos actual.
- Nombre de la base de datos actual.
- Host de la base de datos (normalmente
localhost, pero a veces es un servidor remoto). - Acceso al panel de control del servidor actual (cPanel o DirectAdmin).
- Acceso al panel de control del servidor nuevo (cPanel o DirectAdmin).
[TIP] Anota todo en un bloc de notas antes de empezar. Te ahorrarás dolores de cabeza.
1.3. Revisa la Versión de PHP y MySQL
PrestaShop es exigente con las versiones de software.
Asegúrate de que el servidor de destino tenga una versión de PHP compatible con tu versión de PrestaShop.
Si tu tienda es antigua (PrestaShop 1.6) y migras a un servidor con PHP 8.0, tendrás problemas.
Consulta la documentación oficial de PrestaShop para ver la compatibilidad.
Paso 2: Exportar la Base de Datos desde el Servidor Origen
La primera parte del proceso es exportar tu base de datos prestashop desde el servidor actual.
Vamos a ver cómo hacerlo tanto desde cPanel como desde DirectAdmin.
2.1. Exportar desde cPanel (phpMyAdmin)
La mayoría de los hosts usan phpMyAdmin para gestionar bases de datos.
- Inicia sesión en cPanel con tus credenciales.
- Busca la sección Bases de Datos y haz clic en phpMyAdmin.
- En el panel izquierdo, verás una lista de tus bases de datos. Haz clic en el nombre de tu base de datos de PrestaShop (la que quieres migrar).
- Arriba, en el menú horizontal, verás una pestaña que dice Exportar. Haz clic en ella.
- Deja el método de exportación en Rápido y el formato en SQL. Haz clic en el botón Continuar.
- Se descargará un archivo con extensión
.sql. Guárdalo en un lugar seguro de tu ordenador.
[WARNING] No uses el método "Personalizado" a menos que sepas lo que haces. A veces, al desmarcar opciones como "CREATE DATABASE" o "DROP TABLE", puedes generar errores en la importación.
2.2. Exportar desde DirectAdmin (phpMyAdmin)
DirectAdmin también integra phpMyAdmin, aunque la interfaz es ligeramente distinta.
- Inicia sesión en DirectAdmin.
- Busca el icono de MySQL Management o phpMyAdmin en el panel principal.
- Se abrirá una nueva ventana con phpMyAdmin. Selecciona tu base de datos en el menú lateral izquierdo.
- Ve a la pestaña Exportar.
- Elige el método Rápido y formato SQL. Pulsa Continuar.
- El archivo
.sqlse descargará.
[INFO] Si tu servidor usa Syspanel (el panel de control que antes se llamaba HestiaCP), el acceso es a través del puerto 2106. La exportación se realiza de forma similar, buscando la sección de bases de datos y phpMyAdmin.
Paso 3: Crear la Nueva Base de Datos en el Servidor Destino
Ahora que tienes tu archivo .sql a salvo, es hora de preparar el nuevo hogar para tu tienda.
3.1. Crear Base de Datos y Usuario en cPanel
- Inicia sesión en el cPanel del servidor nuevo.
- Ve a la sección Bases de Datos y haz clic en Bases de Datos MySQL.
- Escribe un nombre para tu nueva base de datos (por ejemplo,
tienda_bd) y haz clic en Crear Base de Datos. - Ahora, en la misma página, en la sección Añadir Nuevo Usuario, crea un usuario y una contraseña segura. Anótalos.
- En la sección Añadir Usuario a la Base de Datos, selecciona el usuario que acabas de crear y la base de datos que creaste. Haz clic en Añadir.
- Te pedirá que asignes privilegios. Marca la casilla "TODOS LOS PRIVILEGIOS" y pulsa Hacer Cambios.
[TIP] El prefijo de la base de datos en cPanel suele ser tu nombre de usuario (ejemplo:
usuario_tienda_bd). No lo borres, es necesario.
3.2. Crear Base de Datos y Usuario en DirectAdmin
- Inicia sesión en DirectAdmin del servidor nuevo.
- Busca la sección MySQL Management.
- Haz clic en Create New Database.
- Introduce el nombre de la base de datos y el usuario que quieras crear. DirectAdmin suele generar un prefijo automáticamente.
- Establece una contraseña segura y pulsa Create.
- En la lista de bases de datos, verás la tuya. Asegúrate de que el usuario tiene todos los privilegios (normalmente se asignan automáticamente).
Paso 4: Importar la Base de Datos en el Nuevo Servidor
Este es el paso crucial. Vamos a meter los datos dentro del nuevo contenedor.
4.1. Importar desde cPanel
- Ve a phpMyAdmin en el nuevo cPanel.
- Selecciona la nueva base de datos que acabas de crear en el panel izquierdo.
- Haz clic en la pestaña Importar en el menú superior.
- Haz clic en Elegir archivo y selecciona el archivo
.sqlque exportaste antes. - Pulsa Continuar.
- Espera a que el proceso termine. Si el archivo es muy grande, puede tardar unos minutos. Verás un mensaje de éxito al final.
[WARNING] Si el archivo es demasiado grande (más de 100 MB), es posible que el servidor te dé un error de tiempo de espera. En ese caso, contacta con tu proveedor de hosting para que aumenten el límite de subida o pide ayuda para importar por SSH.
4.2. Importar desde DirectAdmin
- Accede a phpMyAdmin desde DirectAdmin.
- Selecciona tu nueva base de datos vacía.
- Ve a la pestaña Importar.
- Sube el archivo
.sqly pulsa Continuar. - Espera el mensaje de confirmación.
Paso 5: Configurar la Conexión de PrestaShop a la Nueva Base de Datos
Ahora viene la parte que más se nos olvida: decirle a PrestaShop que la base de datos ya no es la misma.
Este paso se hace editando un archivo de configuración.
5.1. Localizar y Editar el Archivo parameters.php
PrestaShop guarda la configuración de la base de datos en el archivo app/config/parameters.php.
- Conéctate a tu servidor nuevo por FTP (usando FileZilla, por ejemplo) o mediante el Administrador de Archivos del panel.
- Navega hasta la carpeta donde instalaste PrestaShop (normalmente
public_html). - Busca la ruta
app/config/y localiza el archivoparameters.php. - Descarga el archivo a tu ordenador y ábrelo con un editor de texto (como Notepad++).
5.2. Cambiar los Parámetros de la Base de Datos
Dentro del archivo, verás una sección que dice database_host, database_name, database_user y database_password.
Debes cambiar estos valores por los de tu nueva base de datos.
database_host: Normalmente eslocalhost. Si no funciona, revisa los datos de conexión de tu hosting.database_name: El nombre exacto de la nueva base de datos que creaste.database_user: El nuevo usuario que creaste.database_password: La contraseña del nuevo usuario.
[INFO] Si tu servidor usa Syspanel, la ruta del archivo y la estructura son las mismas. Solo cambia el panel de control, no la forma en que PrestaShop se conecta.
5.3. Subir el Archivo Modificado
Guarda los cambios en el archivo parameters.php y súbelo de vuelta a la misma ruta en el servidor, reemplazando el antiguo.
Paso 6: Probar la Migración y Solucionar Problemas Comunes
Este es el momento de la verdad. Vamos a ver si todo ha ido bien.
6.1. Acceder al Front Office y Back Office
- Abre tu navegador y visita tu tienda (la URL de tu dominio).
Si ves la tienda correctamente, ¡enhorabuena! La migración de la base de datos prestashop ha sido un éxito. - Accede al panel de administración (
/admino la URL que hayas configurado).
Si puedes entrar, significa que la conexión es correcta.
6.2. Problemas Comunes y Cómo Arreglarlos
- Error 500 (Internal Server Error): Revisa que los permisos de los archivos sean correctos (normalmente 644 para archivos y 755 para carpetas). También verifica que las credenciales en
parameters.phpson exactas. - Error "Link to database cannot be established": Revisa el nombre del host. Si es un servidor remoto, podría ser algo como
localhosto una IP. Consulta la documentación de tu hosting. - La tienda carga pero sin estilos: Limpia la caché de PrestaShop. Puedes hacerlo borrando el contenido de la carpeta
var/cache/(en PrestaShop 1.7) ocache/(en versiones anteriores).
[TIP] Después de la migración, entra en el Back Office y ve a Parámetros Avanzados > Rendimiento. Pulsa en Vaciar la caché para asegurarte de que no hay datos obsoletos.
6.3. Actualizar las URLs (Si es Necesario)
Si has cambiado de dominio o de subdirectorio, tendrás que actualizar las URLs en la base de datos.
Esto se hace con una consulta SQL en phpMyAdmin:
UPDATE ps_shop_url SET domain = 'www.tunuevadominio.com', domain_ssl = 'www.tunuevadominio.com' WHERE id_shop = 1;
[WARNING] Haz siempre una copia de seguridad de la base de datos antes de ejecutar cualquier consulta SQL.
Preguntas Frecuentes (FAQ) sobre la Migración de PrestaShop
¿Puedo migrar solo la base de datos sin los archivos?
No, no es recomendable. PrestaShop necesita tanto los archivos como la base de datos para funcionar. La base de datos contiene la información, pero los archivos contienen el código y las imágenes. Debes migrar ambos.
¿Qué hago si mi base de datos es muy grande y no puedo importarla?
Puedes intentar aumentar el límite de subida en phpMyAdmin (editando el archivo config.inc.php), pero es más fácil usar herramientas como BigDump o pedir ayuda a tu proveedor de hosting. Otra opción es dividir el archivo SQL en partes más pequeñas.
¿Es necesario cambiar las rutas absolutas en la base de datos?
No siempre. Si migras a un servidor con la misma estructura de carpetas, no será necesario. Si cambias de dominio, sí tendrás que actualizar las URLs en las tablas ps_configuration y ps_shop_url.
¿Puedo usar un plugin o módulo para migrar?
Sí, existen módulos de pago como "PrestaShop Migration" que automatizan el proceso. Sin embargo, hacerlo manualmente te da más control y es gratuito.
¿Cuánto tiempo tarda el proceso?
Depende del tamaño de tu base de datos y de la velocidad de tu conexión. Una base de datos pequeña (menos de 50 MB) puede tardar solo unos minutos. Una grande puede tardar horas.
¿Perderé mis pedidos o clientes?
No, si haces la migración correctamente, todos tus datos se copiarán tal cual. Solo asegúrate de que la exportación e importación se completan sin errores.
¿Qué pasa con las contraseñas de los clientes?
Las contraseñas se almacenan en la base de datos con un hash. Se migrarán correctamente sin necesidad de hacer nada especial. Los clientes podrán seguir iniciando sesión con sus contraseñas actuales.
Conclusión y Consejos Finales
Migrar una base de datos de PrestaShop es un proceso que, si se hace con calma y siguiendo estos pasos, puede completarse sin necesidad de ser un experto en servidores.
Recuerda siempre:
- Haz una copia de seguridad antes de empezar.
- Pon la tienda en mantenimiento para evitar pérdidas de datos.
- Verifica las versiones de PHP y MySQL en el servidor destino.
- Exporta e importa usando phpMyAdmin.
- Actualiza el archivo
parameters.phpcon las nuevas credenciales. - Limpia la caché y prueba todo a fondo.
Si en algún momento te sientes perdido, no dudes en contactar con el soporte técnico de tu hosting. Ellos están para ayudarte.
[TIP] Si tu nuevo hosting usa Syspanel, recuerda que el acceso al panel se realiza a través del puerto 2106. El proceso de migración es idéntico al de cPanel o DirectAdmin, solo cambia la interfaz del panel.
Espero que esta guía te haya sido de gran ayuda. ¡Buena suerte con tu migración PrestaShop y que tus ventas sigan creciendo en tu nuevo servidor!
