Cómo migrar una base de datos de PrestaShop a un nuevo servidor (cPanel o Plesk)
¿Por qué migrar una base de datos de PrestaShop y qué necesitas antes de empezar?
Migrar una tienda online es como mudarte de casa: da miedo al principio, pero si llevas un orden y una checklist, todo sale bien. La base de datos es el corazón de tu PrestaShop, donde viven tus productos, pedidos, clientes, contraseñas y la configuración de la tienda. Si esa mudanza sale mal, podrías perder ventas o, peor, datos de clientes.
En esta guía te voy a explicar, paso a paso y sin tecnicismos raros, cómo migrar prestashop servidor sin volverte loco. Vamos a cubrir dos de los paneles de control más usados: cPanel y Plesk. También veremos cómo configurar el archivo settings.inc.php para que tu tienda hable con la nueva base de datos.
Antes de ensuciarnos las manos, asegúrate de tener esto a mano:
- Acceso al panel de control del servidor antiguo (donde está tu tienda ahora).
- Acceso al panel de control del servidor nuevo (cPanel o Plesk).
- Las credenciales de acceso a tu hosting (usuario y contraseña de FTP o del administrador del panel).
- Un editor de texto plano (como el Bloc de notas o Sublime Text) para tocar archivos de configuración.
- Paciencia. Mucha paciencia.
[WARNING] No empieces la migración en un día de mucho tráfico o durante una promoción. Hazlo en una hora valle para minimizar el impacto si algo falla.
Paso 1: Haz una copia de seguridad completa (no solo de la base de datos)
Aunque el título de este artículo hable de la base de datos, te recomiendo encarecidamente que hagas una copia de todo tu PrestaShop: archivos (la carpeta public_html o httpdocs) y la base de datos. ¿Por qué? Porque si algo falla, podrás restaurar todo el conjunto y no solo una parte.
Para la copia de seguridad de los archivos, puedes usar el administrador de archivos de tu cPanel o Plesk, o un cliente FTP como FileZilla. Descarga la carpeta raíz de PrestaShop a tu ordenador. Esto puede tardar un rato si tu tienda tiene muchas imágenes de producto.
Paso 2: Exportar la base de datos de PrestaShop desde el servidor antiguo
Ahora vamos a por el tesoro: la base de datos prestashop. Dependiendo de tu panel de control, el proceso varía un poco, pero el concepto es el mismo: generar un archivo .sql con todo el contenido.
Exportar desde cPanel (servidor antiguo)
- Entra en tu cPanel y busca la sección Bases de Datos.
- Haz clic en phpMyAdmin.
- En el menú de la izquierda, selecciona la base de datos de tu PrestaShop (normalmente empieza por algo como
usuario_prestashop). - Arriba, en la pestaña Exportar, elige el método Rápido y formato SQL.
- Pulsa Continuar. Se descargará un archivo
.sqlen tu ordenador. Ese archivo es tu seguro de vida.
Exportar desde Plesk (servidor antiguo)
- Entra en Plesk y ve a Bases de Datos.
- Localiza la base de datos de tu tienda y haz clic en phpMyAdmin (o en "Administrar", según la versión).
- Repite los pasos 4 y 5 del caso anterior.
[TIP] Si tu base de datos es muy grande (más de 100 MB), el método rápido puede fallar. En ese caso, ve a la pestaña Exportar y en el método Personalizado elige la opción "Comprimir con gzip" o "zipped". Esto reduce el tamaño del archivo considerablemente.
Paso 3: Crear una base de datos nueva en el servidor destino (cPanel o Plesk)
Ahora toca preparar el nuevo hogar. Necesitas crear una base de datos vacía y un usuario con todos los privilegios. Esto es obligatorio; no puedes usar una base de datos existente de otro sitio, porque podría haber conflictos de tablas.
Crear base de datos en cPanel
- En tu cPanel, busca Bases de Datos MySQL.
- En el campo Crear nueva base de datos, escribe un nombre (p. ej.,
prestashop_nueva) y pulsa Crear base de datos. - En la sección Añadir nuevo usuario, crea un usuario (p. ej.,
admin_presta) y una contraseña segura. Anota ambos. - Baja hasta Añadir usuario a la base de datos, selecciona tu usuario y tu base de datos, y pulsa Añadir.
- Te preguntará por los privilegios. Marca TODOS LOS PRIVILEGIOS y pulsa Hacer cambios.
Crear base de datos en Plesk
- Ve a Bases de Datos y pulsa Añadir Base de Datos.
- Ponle un nombre, elige el tipo de servidor (MySQL) y crea un usuario con su contraseña.
- Asegúrate de marcar la casilla de todos los privilegios o, si te lo pide, deja que Plesk lo haga automáticamente.
Paso 4: Importar la base de datos en el nuevo servidor
Ya tienes el archivo .sql en tu ordenador y la base de datos vacía esperando. Ahora toca exportar importar prestashop cpanel o Plesk, según tu caso.
Importar en cPanel
- Abre phpMyAdmin desde tu cPanel.
- Selecciona la base de datos nueva que acabas de crear (en el menú de la izquierda).
- Ve a la pestaña Importar.
- Haz clic en Elegir archivo y selecciona tu archivo
.sql(o el comprimido en.gz). - Pulsa Continuar. Si el archivo es grande, puede tardar varios minutos. No cierres la pestaña del navegador.
Importar en Plesk
- Entra en Bases de Datos, selecciona tu base de datos nueva y haz clic en Importar Dump (o "Importar desde archivo").
- Sube tu archivo
.sqly ejecuta la importación.
[WARNING] Si la importación se corta a mitad (por límite de tiempo de PHP o del servidor), no desesperes. Puedes usar la herramienta MySQL Workbench o la línea de comandos
mysql -u usuario -p base < archivo.sqlsi tienes acceso SSH. Si no, contacta con tu proveedor de hosting para que suba el límite de memoria o tiempo de ejecución.
Paso 5: Subir los archivos de PrestaShop al nuevo servidor
Ahora que ya tienes la base de datos importada, toca subir los archivos de tu tienda. Si ya los descargaste en el Paso 1, sube la carpeta completa a la raíz del nuevo hosting (normalmente public_html en cPanel o httpdocs en Plesk).
Puedes hacerlo con:
- Administrador de archivos de cPanel/Plesk: comprime la carpeta en un
.zip, súbela y descomprímela en el servidor. - FTP: con FileZilla, arrastra y suelta la carpeta completa. Es más fiable para archivos grandes.
[TIP] Asegúrate de que los archivos tengan los permisos correctos. En general, las carpetas deben estar en
755y los archivos en644. En cPanel puedes seleccionar todo y hacer clic derecho para cambiar permisos. En Plesk, ve a Configuración de archivos y ajusta los permisos.
Paso 6: Configurar el archivo settings.inc.php (el paso más crítico)
Aquí está el momento de la verdad. PrestaShop guarda la configuración de conexión a la base de datos en un archivo llamado settings.inc.php. Lo encontrarás en la carpeta config/ de tu instalación.
Este archivo contiene líneas como estas:
define('_DB_SERVER_', 'localhost');
define('_DB_NAME_', 'nombre_base_datos');
define('_DB_USER_', 'usuario_bd');
define('_DB_PASSWD_', 'contraseña');
define('_DB_PREFIX_', 'ps_');
Debes editar esos valores con los datos de la nueva base de datos que creaste en el Paso 3.
- Abre el archivo
config/settings.inc.phpcon un editor de texto plano. - Cambia
_DB_SERVER_por el servidor de tu base de datos. Normalmente eslocalhost, pero si tu hosting usa un servidor externo (comomysql.tudominio.com), ponlo aquí. - Cambia
_DB_NAME_por el nombre de la nueva base de datos. - Cambia
_DB_USER_por el usuario nuevo. - Cambia
_DB_PASSWD_por la contraseña del usuario nuevo. - Guarda el archivo y súbelo de nuevo al servidor (si lo editaste localmente).
[WARNING] A partir de PrestaShop 1.7, este archivo se llama
parameters.phpy se encuentra enapp/config/. La estructura es diferente (usa un array), pero la lógica es la misma: buscar las clavesdatabase_host,database_name,database_userydatabase_password. En PrestaShop 8, el archivo se llamaparameters.phptambién.
Paso 7: Ajustar el archivo .htaccess y la URL de la tienda
Si vas a cambiar tu dominio o mover la tienda a una subcarpeta temporal, necesitas ajustar la URL. Si mantienes el mismo dominio, este paso es más sencillo.
- En tu nuevo servidor, busca el archivo
.htaccessen la raíz. Si no existe, PrestaShop lo generará al activar la URL amigable. - Si cambiaste la URL, edita el archivo
config/settings.inc.php(oparameters.php) y busca la constante_PS_BASE_URL_oPS_SHOP_DOMAIN. Cámbiala por tu nuevo dominio. - Entra en el panel de administración de PrestaShop (por ejemplo,
tudominio.com/admin123). En Parámetros avanzados > Rendimiento, borra la caché.
[TIP] Si no puedes entrar al panel de administración porque te da error, edita la tabla
ps_configurationde la base de datos importada (con phpMyAdmin) y busca las filas conPS_SHOP_DOMAINyPS_SHOP_DOMAIN_SSL. Actualiza los valores con tu nuevo dominio.
Paso 8: Probar la tienda y solucionar errores comunes
Ya tienes todo en su sitio. Ahora toca la prueba de fuego:
- Abre tu tienda en el navegador. ¿Carga correctamente?
- Entra en el panel de administración. ¿Te deja acceder?
- Haz una compra de prueba (activa el modo mantenimiento primero para que nadie vea errores).
Errores típicos y soluciones:
- "Error de conexión a la base de datos": Revisa
settings.inc.phpoparameters.php. Seguro que un dato está mal. - "Tabla no existe": El prefijo de las tablas no coincide. En PrestaShop, el prefijo por defecto es
ps_. Si tu base de datos antigua usaba otro prefijo, deberás cambiarlo en el archivo de configuración. - Página en blanco: Activa el modo debug. En
config/defines.inc.php, buscadefine('_PS_MODE_DEV_', false);y cámbialo atrue. Te mostrará el error exacto.
Paso 9: Migrar la base de datos de PrestaShop a Plesk (diferencias clave)
Si tu servidor nuevo usa Plesk, el proceso es casi idéntico, pero hay un par de detalles:
- En Plesk, a veces el servidor de base de datos no es
localhost, sino algo comolocalhost:3306o un nombre interno. Revisa los datos de conexión que te da Plesk en la sección de la base de datos. - La importación de archivos grandes puede fallar si el límite de
max_allowed_packetes bajo. Puedes aumentarlo desde Configuración de la base de datos en Plesk, o usar la línea de comandos si tienes acceso SSH.
[INFO] Si tu hosting usa Syspanel (el panel que antes se llamaba HestiaCP), el acceso por defecto es a través del puerto 2106 (por ejemplo,
https://tudominio.com:2106). La gestión de bases de datos se hace desde la sección Bases de Datos de ese panel, y el proceso de importación es similar al de Plesk.
Preguntas frecuentes (FAQ) sobre migración de bases de datos en PrestaShop
¿Puedo migrar solo la base de datos y no los archivos?
Técnicamente sí, pero no tendría sentido. PrestaShop necesita sus archivos para funcionar. La base de datos sin los archivos es como un cerebro sin cuerpo.
¿Qué pasa si mi tienda tiene varios idiomas o monedas?
No hay problema, la base de datos contiene toda esa información. Solo asegúrate de que las versiones de PrestaShop sean las mismas o muy similares (idealmente, la misma versión) para evitar incompatibilidades.
¿Cuánto tarda la migración?
Depende del tamaño de tu base de datos y de la velocidad de tu conexión. Una tienda pequeña (menos de 100 MB) puede tardar 10-15 minutos. Una tienda grande (más de 1 GB) puede tardar horas.
¿Debo desactivar la tienda durante la migración?
Sí, es muy recomendable activar el modo mantenimiento en la tienda antigua para que los clientes no vean errores ni hagan pedidos mientras mueves los datos. Puedes activarlo desde el panel de administración o editando el archivo settings.inc.php (buscando _PS_SHOP_ENABLE_ y poniéndolo en '0').
¿Puedo migrar de PrestaShop 1.6 a 1.7 directamente?
Eso es una actualización, no una migración. Es más complejo porque cambia la estructura de la base de datos. Te recomiendo que primero migres la versión antigua tal cual, y luego hagas la actualización en el nuevo servidor.
¿Qué hago si pierdo la conexión durante la importación?
No pasa nada. Borra la base de datos nueva, vuelve a crearla e intenta la importación de nuevo. Asegúrate de que el archivo .sql no esté corrupto.
Conclusión: migrar prestashop servidor no tiene por qué ser un dolor de cabeza
Con estos pasos, ya sabes cómo exportar importar prestashop cpanel y cómo hacerlo en Plesk. La clave está en la preparación: copia de seguridad, exportación limpia, importación paciente y, sobre todo, configurar bien el settings.inc.php para que tu tienda sepa dónde encontrar sus datos.
Si algo falla, recuerda que siempre puedes volver al servidor antiguo y restaurar la copia. No hay prisa, tu tienda no se va a romper por esperar un día más.
¿Te ha quedado alguna duda? Déjala en los comentarios y te ayudaré encantado. ¡Buena suerte con tu mudanza digital!
