🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Tutorial para migrar base de datos a PrestaShop

Actualizado el 31 de diciembre de 2025

¿Necesitas mover tu tienda online a un nuevo servidor o simplemente quieres empezar con una base de datos limpia? Migrar la base de datos de PrestaShop es uno de los pasos más críticos en cualquier proceso de mudanza o actualización. Un error aquí puede dejarte sin productos, sin pedidos o, peor aún, con una tienda que no carga. Pero no te preocupes, vamos a hacerlo paso a paso, como si estuviera sentado a tu lado.

Este tutorial está diseñado para que cualquier persona, incluso sin experiencia técnica profunda, pueda migrar base de datos de PrestaShop de forma segura. Incluye tanto el proceso de exportación como el de importación, además de una sección de preguntas frecuentes (FAQ) para resolver las dudas más comunes.


¿Qué necesitas antes de empezar?

Antes de tocar nada, asegúrate de tener a mano estos datos. Te harán la vida mucho más fácil:

  • Acceso a la base de datos actual: Necesitas el nombre de la base de datos, el usuario y la contraseña. Normalmente lo encuentras en el archivo app/config/parameters.php de tu PrestaShop.
  • Acceso al panel de control de tu hosting: Ya sea cPanel, DirectAdmin, o nuestro querido Syspanel (recuerda, el puerto de acceso es el 2106).
  • Herramienta de gestión de bases de datos: phpMyAdmin es la más común y la que usaremos en este tutorial. Si tu hosting no lo tiene, puedes usar Adminer o la línea de comandos (pero eso ya es más técnico).
  • Una copia de seguridad de TODO: Sí, de toda la tienda. Archivos y base de datos. Esto es tu red de seguridad. Si algo sale mal, restauras y listo.

[WARNING] IMPORTANTE: Nunca, bajo ninguna circunstancia, modifiques una base de datos sin tener una copia de seguridad reciente. Un solo clic equivocado puede borrar años de trabajo.


Paso 1: Exportar la base de datos original (Desde el servidor antiguo)

Este es el proceso para sacar una copia de tu base de datos actual. Vamos a usar phpMyAdmin, que es la herramienta más estándar.

1.1 Accede a phpMyAdmin

  1. Ingresa a tu panel de control (cPanel, Syspanel, etc.).
  2. Busca el icono de phpMyAdmin. En Syspanel, suele estar en la sección "Bases de Datos".
  3. Selecciona la base de datos de tu PrestaShop de la lista de la izquierda. Verás que se cargan todas las tablas (normalmente empiezan por ps_).

1.2 Configura la exportación

  1. Haz clic en la pestaña "Exportar" en la parte superior.
  2. Verás dos métodos: Rápido y Personalizado. Siempre elige "Personalizado". Es la única forma de asegurarnos de que la migración funcione sin errores.
  3. En la sección "Método de exportación", asegúrate de que esté marcado "Guardar la salida en un archivo".
  4. Formato: Deja "SQL".

1.3 Ajustes críticos para PrestaShop

Aquí está el truco del almendruco. Despliega la sección "Opciones específicas para el formato" y configura lo siguiente:

  • Añadir DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT: Márcalo. Esto hará que las tablas se borren antes de importarlas, evitando conflictos si ya existen.
  • Añadir IF NOT EXISTS: No lo marques. Preferimos el DROP para una migración limpia.
  • Añadir AUTO_INCREMENT value: Déjalo marcado. Así los IDs de tus productos no se reinician.
  • Encerrar nombres de tablas y campos con comillas inversas: Márcalo. Es obligatorio para que PrestaShop entienda los nombres de las columnas.
  • Modo de creación de tablas: Selecciona CREATE TABLE. No uses CREATE TEMPORARY TABLE.

1.4 ¡A exportar!

  1. En la sección "Salida", selecciona "Comprimido" y elige "gzip" o "zip". Esto hará que el archivo pese mucho menos y sea más rápido de descargar y subir.
  2. Haz clic en el botón "Continuar" (o "Exportar").
  3. Se descargará un archivo .sql.gz o .sql.zip. ¡Guárdalo en un lugar seguro! Ese es tu tesoro.

[TIP]: Si tu base de datos es enorme (más de 500MB), la exportación desde phpMyAdmin puede fallar. En ese caso, contacta con tu soporte técnico para que te hagan un dump por consola. Es más rápido y fiable.


Paso 2: Crear la base de datos en el servidor nuevo

Ahora tienes tu archivo SQL. Necesitamos un lugar donde meterlo en el servidor de destino.

2.1 Accede al panel de control nuevo

  1. Ingresa a tu nuevo hosting (Syspanel, cPanel, etc.).
  2. Busca la sección "Bases de Datos" y luego "MySQL Databases" (o similar).

2.2 Crea la base de datos y el usuario

  1. Crear base de datos: Ponle un nombre, por ejemplo, tienda_prestashop. Anótalo.
  2. Crear usuario: Crea un usuario nuevo, por ejemplo, usuario_tienda. Ponle una contraseña segura (usa el generador que suele incluir el panel).
  3. Asignar usuario a la base de datos: Añade el usuario que acabas de crear a la base de datos y marca TODOS LOS PRIVILEGIOS. Sí, todos. PrestaShop necesita poder leer, escribir, borrar y modificar tablas.

[INFO]: En Syspanel (puerto 2106), este proceso es muy visual. Primero creas la BD, luego el usuario y en un tercer paso los vinculas. No te saltes ningún paso.


Paso 3: Importar la base de datos (Subir el archivo SQL)

Este es el paso que más nervios pone, pero es muy sencillo si sigues el orden.

3.1 Abre phpMyAdmin en el servidor nuevo

  1. En el nuevo panel, busca y abre phpMyAdmin.
  2. Selecciona la base de datos que acabas de crear (estará vacía, sin tablas).

3.2 Sube el archivo de la copia de seguridad

  1. Haz clic en la pestaña "Importar".
  2. En "Archivo a importar", haz clic en "Seleccionar archivo" y busca el .sql.gz o .sql.zip que descargaste en el Paso 1.
  3. IMPORTANTE: Si el archivo es muy grande (más de 50MB), phpMyAdmin puede fallar. Si ves que la barra de progreso no avanza, no desesperes. En ese caso:
    • Opción A (Recomendada): Descomprime el archivo .sql y usa la herramienta "Importar" de Syspanel o de tu panel de control. Muchos paneles tienen un importador más potente.
    • Opción B: Usa la línea de comandos (SSH). Si te sientes valiente, el comando es: mysql -u usuario -p nombre_bd < archivo.sql. Te pedirá la contraseña.
  4. Deja el resto de opciones por defecto (juego de caracteres: utf-8, formato: SQL).
  5. Haz clic en "Continuar".

3.3 Verifica la importación

Una vez termine (puede tardar varios minutos si la BD es grande), verás un mensaje verde de éxito. Luego, en el panel izquierdo de phpMyAdmin, haz clic en el nombre de tu base de datos. Deberías ver todas las tablas (ps_carrier, ps_product, etc.). Si las ves, ¡enhorabuena! La base de datos ya está en el nuevo servidor.

[WARNING]: Si ves errores de "Duplicate entry" o "Table already exists", es porque no marcaste la opción "DROP TABLE" en la exportación. No pasa nada, borra todas las tablas de la nueva BD (vacíala) y repite la importación.


Paso 4: Conexión de PrestaShop a la nueva base de datos

Ahora viene el paso final: decirle a tu nueva instalación de PrestaShop que use esta base de datos.

4.1 Localiza el archivo de configuración

  1. Conéctate a tu nuevo servidor vía FTP o mediante el administrador de archivos de tu panel.
  2. Navega hasta la carpeta raíz de tu PrestaShop (la que contiene las carpetas admin, img, themes, etc.).
  3. Abre la carpeta app/config/.
  4. Busca el archivo parameters.php.

4.2 Edita los parámetros de la base de datos

  1. Abre parameters.php con un editor de texto (Bloc de notas, Sublime Text, etc.).
  2. Busca las siguientes líneas y cámbialas por los datos de tu nueva base de datos:
'database_host' => 'localhost', // Normalmente es 'localhost', pero si tu hosting te da un host específico, ponlo aquí.
'database_port' => '3306', // Puerto por defecto de MySQL. Rara vez cambia.
'database_name' => 'AQUI_EL_NOMBRE_DE_TU_NUEVA_BD', // Ej: tienda_prestashop
'database_user' => 'AQUI_EL_USUARIO_DE_TU_NUEVA_BD', // Ej: usuario_tienda
'database_password' => 'AQUI_LA_CONTRASEÑA_DE_TU_NUEVO_USUARIO', // La que pusiste al crearlo.

[TIP]: No toques ninguna otra línea. Solo estas cinco. Si pones mal la contraseña, la tienda no cargará y te dará un error de conexión a la base de datos.

  1. Guarda el archivo y súbelo de nuevo al servidor (si lo editaste localmente).

4.3 Prueba la tienda

  1. Accede a la URL de tu nueva tienda (ej: tunuevatienda.com).
  2. Si todo está bien, verás tu tienda exactamente igual que antes.
  3. Accede también al panel de administración (ej: tunuevatienda.com/admin1234).

Si ves la tienda, ¡felicidades! Has migrado la base de datos con éxito.


FAQ: Preguntas frecuentes sobre migración de BD en PrestaShop

Aquí tienes las dudas más habituales que resuelvo a diario.

¿Puedo cambiar el prefijo de las tablas (ps_) durante la migración?

No en una migración directa. El prefijo está hardcodeado en el archivo parameters.php. Si cambias el prefijo en la BD, tendrías que cambiar también el valor database_prefix en parameters.php. No lo recomiendo a menos que sepas exactamente lo que haces.

¿Qué hago si después de la migración veo un error "Link to database cannot be established"?

  1. Revisa el archivo parameters.php línea por línea. El error más común es un typo en el nombre de la base de datos o la contraseña.
  2. Verifica que el usuario de la BD tenga todos los privilegios. Ve a tu panel de control y asegúrate de que esté marcado "ALL PRIVILEGES".
  3. Comprueba que el servidor de base de datos (database_host) no sea localhost si tu hosting te da uno específico. Pregunta a tu soporte técnico.

Mi base de datos es de 1GB, ¿puedo usar phpMyAdmin?

Es arriesgado. Si el servidor tiene un límite de subida de archivos bajo (normalmente 64MB o 128MB), phpMyAdmin rechazará el archivo. Te recomiendo:

  • Comprimir el .sql en .gz.
  • Usar la herramienta de importación de tu panel (Syspanel, cPanel suelen tener una específica para archivos grandes).
  • O mejor aún, pedir a tu soporte técnico que lo importe por consola.

Después de la migración, las imágenes de los productos no se ven. ¿Qué pasó?

Esto es muy común. La migración de la base de datos solo mueve los datos, no las imágenes. Las imágenes de productos se almacenan en la carpeta /img/p/. Necesitas migrar también todos los archivos de tu tienda (carpetas img, themes, modules, upload, etc.) mediante FTP. La base de datos solo guarda la ruta de la imagen, no el archivo en sí.

¿Necesito cambiar la URL de la tienda en la base de datos?

Sí, si cambias de dominio. PrestaShop guarda la URL en varias tablas. La forma más segura es:

  1. Después de la migración, edita el archivo parameters.php si es necesario.
  2. Luego, desde el panel de administración de tu nueva tienda, ve a Parámetros de la tienda > Tráfico y SEO y cambia la URL base.
  3. IMPORTANTE: Si tu tienda tiene páginas en caché o módulos que guardan URLs, puede que necesites ejecutar una consulta SQL para reemplazar la URL antigua por la nueva. Por ejemplo: UPDATE ps_configuration SET value = 'https://nuevadominio.com' WHERE name = 'PS_SHOP_DOMAIN';

¿Puedo migrar solo algunos datos (ej: solo productos y no pedidos)?

Técnicamente sí, pero es muy complejo y puedes romper las relaciones entre tablas (un pedido necesita un producto, un producto necesita una categoría, etc.). No lo recomiendo para nada. Si necesitas limpiar datos, hazlo desde el panel de administración de PrestaShop después de la migración completa.


Conclusión

Migrar la base de datos de PrestaShop no es magia negra. Con un poco de paciencia y siguiendo estos pasos al pie de la letra, puedes hacerlo tú mismo. Recuerda siempre: copia de seguridad, exportación correcta con DROP TABLE, importación en la nueva BD y actualización del archivo parameters.php.

Si en algún momento te sientes perdido, respira hondo. Vuelve al paso de la copia de seguridad y restaura. Siempre puedes empezar de nuevo. Y si el archivo es muy grande o el proceso se te complica, no dudes en contactar con el soporte técnico de tu hosting. Para eso estamos.

¡Buena suerte con tu migración!

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel