Migrar base de datos de PrestaShop a otro servidor con cPanel
Migrar una tienda online puede parecer un trabajo de expertos, pero con una buena guía y las herramientas adecuadas, cualquier persona puede hacerlo. Hoy te voy a explicar paso a paso cómo realizar la migrar base de datos de tu tienda PrestaShop a otro servidor que tenga cPanel. No necesitas ser un genio de la programación, solo seguir esta guía al pie de la letra.
La transferencia de una base de datos es una de las partes más delicadas de una mudanza de hosting. Si te equivocas, tu tienda puede dejar de funcionar, perder productos o, peor aún, perder pedidos. Por eso, vamos a hacerlo con calma y asegurándonos de que todo quede perfecto.
Antes de empezar, ten a mano tus credenciales de acceso tanto del servidor antiguo como del nuevo. Necesitarás el usuario y la contraseña de cPanel, así como los datos de acceso a phpMyAdmin. Si no los tienes, contacta con tu proveedor de hosting.
¿Qué necesitas saber antes de empezar?
La base de datos de PrestaShop almacena toda la información vital de tu tienda: productos, clientes, pedidos, configuraciones, módulos... Es el corazón de tu negocio online. Por eso, al migrar base de datos, debes ser muy cuidadoso.
Existen dos formas principales de hacerlo:
- Método manual: Usando herramientas como phpMyAdmin. Es más técnico pero te da control total.
- Método con plugins: Usando módulos de PrestaShop. Es más fácil pero a veces no funciona con todas las configuraciones.
En esta guía nos centraremos en el método manual, que es el más fiable y universal. Funciona con cualquier versión de PrestaShop y cualquier hosting con cPanel.
[INFO] Aunque uses cPanel, el proceso es similar en otros paneles como Syspanel (HestiaCP, que se accede por el puerto 2106). Los pasos de exportación e importación de la base de datos son prácticamente idénticos.
Paso 1: Preparar el terreno en el servidor de destino
Antes de mover nada, debemos preparar el nuevo hogar de tu tienda. En tu nuevo cPanel, lo primero es crear una base de datos vacía y un usuario que pueda administrarla.
Crear la base de datos y el usuario en cPanel
- Inicia sesión en tu nuevo cPanel. Normalmente es algo como
tudominio.com/cpanelotuip/cpanel. - Busca la sección Bases de Datos y haz clic en MySQL Databases (o Bases de Datos MySQL).
- En Create New Database, escribe un nombre para tu nueva base de datos. Por ejemplo:
prestashop_nueva. Haz clic en Create Database. - Ahora, baja hasta Add New User. Crea un nombre de usuario (ej:
admin_presta) y una contraseña segura. Anota ambos datos en un bloc de notas. Haz clic en Create User. - Finalmente, en Add User to Database, selecciona el usuario y la base de datos que acabas de crear. Marca la casilla ALL PRIVILEGES (Todos los privilegios) y haz clic en Make Changes.
[TIP] Anota el nombre completo de la base de datos y el usuario. En cPanel, suelen tener un prefijo con tu nombre de cuenta. Por ejemplo:
tucuenta_prestashop_nuevaytucuenta_admin_presta.
¡Listo! Ya tienes el contenedor vacío para recibir tus datos.
Paso 2: Exportar la base de datos original desde el servidor antiguo
Ahora vamos a sacar una copia de seguridad de tu base de datos actual. Este es el paso más importante de la transferencia.
Acceder a phpMyAdmin en el servidor antiguo
- Inicia sesión en tu cPanel antiguo.
- Busca y haz clic en phpMyAdmin (dentro de Bases de Datos).
- En la columna de la izquierda, verás una lista de bases de datos. Haz clic en la que usa tu PrestaShop. Normalmente se llama algo como
tucuenta_prestashopo similar. - Una vez dentro, verás todas las tablas de tu tienda (ps_product, ps_customer, etc.). No te asustes, es normal.
Exportar la base de datos
- En el menú superior de phpMyAdmin, haz clic en la pestaña Exportar.
- Se abrirán dos opciones: Rápida y Personalizada. Elige Personalizada.
- En Método de exportación, marca la opción Guardar la salida en un archivo.
- En Formato, asegúrate de que sea SQL.
- Baja un poco hasta la sección Opciones específicas del formato. Aquí es clave:
- Marca la opción Agregar DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT.
- Marca la opción Agregar IF NOT EXISTS.
- IMPORTANTE: En Modo de creación de tablas, selecciona DROP TABLE, CREATE TABLE, INSERT.
- No toques nada más. Haz clic en el botón Continuar (o Exportar) en la parte inferior.
Esto descargará un archivo .sql en tu ordenador. Es la copia de seguridad completa de tu base de datos. Guárdalo en un lugar seguro.
[WARNING] No cierres phpMyAdmin ni apagues el ordenador mientras se exporta. Si la base de datos es muy grande (más de 100 MB), puede tardar varios minutos. Ten paciencia.
Paso 3: Importar la base de datos en el nuevo servidor
Ahora que tienes el archivo .sql, vamos a meterlo en la base de datos vacía que creaste en el paso 1.
Subir e importar el archivo SQL
- Ve a tu nuevo cPanel y abre phpMyAdmin.
- En la columna de la izquierda, selecciona la base de datos que creaste (ej:
tucuenta_prestashop_nueva). Debe estar vacía (sin tablas). - Haz clic en la pestaña Importar en el menú superior.
- En Archivo a importar, haz clic en Seleccionar archivo y busca el archivo
.sqlque descargaste. - Deja todas las opciones por defecto. No cambies el juego de caracteres ni nada.
- Haz clic en Continuar.
La importación comenzará. Verás una barra de progreso. Cuando termine, aparecerá un mensaje verde: "La consulta SQL se ha ejecutado correctamente". Si ves eso, ¡enhorabuena! Has completado la migrar base de datos.
[TIP] Si el archivo es muy grande (más de 50 MB), cPanel puede dar error. En ese caso, puedes usar la herramienta Importar/Exportar de cPanel en la sección de Bases de Datos, que permite subir archivos más grandes.
Paso 4: Configurar PrestaShop para que use la nueva base de datos
Ahora tu base de datos está en el nuevo servidor, pero tu PrestaShop aún no lo sabe. Hay que decirle dónde está la nueva base de datos.
Editar el archivo de configuración
- Conecta a tu nuevo servidor mediante FTP (FileZilla, por ejemplo) o usa el Administrador de Archivos de cPanel.
- Navega hasta la carpeta raíz de tu PrestaShop (normalmente
public_htmlo una subcarpeta). - Busca el archivo llamado
app/config/parameters.php. - Descarga una copia de seguridad de este archivo antes de editarlo (por si acaso).
- Ábrelo con un editor de texto (Bloc de notas, Sublime Text, etc.).
- Busca estas líneas y cámbialas por los datos de la nueva base de datos que creaste:
'database_host' => 'localhost', // Normalmente es localhost, pero si tu hosting te da un host específico, ponlo aquí
'database_port' => '',
'database_name' => 'tucuenta_prestashop_nueva', // El nombre de la base de datos que creaste
'database_user' => 'tucuenta_admin_presta', // El usuario que creaste
'database_password' => 'LA_CONTRASEÑA_QUE_PUSISTE', // La contraseña del usuario
'database_prefix' => 'ps_', // Este suele ser el prefijo, no lo cambies a menos que sepas que es otro
- Guarda los cambios y sube el archivo de nuevo al servidor (reemplazando el original).
[WARNING] Si escribes mal el nombre de la base de datos, el usuario o la contraseña, tu tienda mostrará un error de conexión a la base de datos. Revisa dos veces cada carácter.
Paso 5: Verificar que todo funciona
Ya casi está. Ahora solo falta comprobar que la transferencia ha sido un éxito.
- Abre tu navegador y escribe la URL de tu tienda (ej:
tudominio.com). - Si todo está bien, verás tu tienda funcionando exactamente igual que antes.
- Prueba a iniciar sesión en el back office (admin). Ve a
tudominio.com/admin(o la URL que hayas configurado). - Revisa que los productos, clientes y pedidos estén ahí.
- Haz un pedido de prueba (si puedes) para asegurarte de que el proceso de compra funciona.
Si ves errores, no te preocupes. Los más comunes son:
- Error de conexión a la base de datos: Revisa los datos en
parameters.php. - Página en blanco: Puede ser por un error de PHP. Activa el modo debug de PrestaShop para ver el error concreto.
- Imágenes rotas: A veces las rutas de las imágenes no se actualizan. Puedes regenerarlas desde el back office en Parámetros de la tienda > Rendimiento > Regenerar miniaturas.
Preguntas frecuentes (FAQ) sobre migrar base de datos de PrestaShop
Aquí respondo a las dudas más comunes que suelen tener los usuarios al hacer esta guía.
¿Puedo migrar solo la base de datos sin los archivos?
Sí, pero no es recomendable. La base de datos y los archivos (imágenes, módulos, temas) están muy ligados. Si solo migras la base de datos, las imágenes se romperán. Lo ideal es migrar todo junto.
¿Qué hago si mi base de datos es muy grande y no se exporta?
Puedes usar la herramienta mysqldump desde la terminal de SSH (si tu hosting lo permite). El comando sería: mysqldump -u usuario -p nombre_base > backup.sql. También puedes pedir a tu hosting antiguo que te haga una copia de seguridad completa.
¿Pierdo los pedidos que se hagan durante la migración?
Sí, si tu tienda está abierta al público mientras migras, los pedidos nuevos se guardarán en la base de datos antigua y no en la nueva. Para evitarlo, pon tu tienda en modo mantenimiento durante el proceso. Ve a Parámetros de la tienda > Mantenimiento y actívalo.
¿Necesito cambiar algo en el archivo .htaccess?
Sí, si cambias de dominio o de ruta de instalación, deberás regenerar el .htaccess desde el back office (en Parámetros de la tienda > SEO y URLs). Si solo cambias de servidor pero el dominio es el mismo, no suele ser necesario.
¿Qué pasa con los módulos y temas que tenía instalados?
Los módulos y temas se instalan en los archivos del servidor, no en la base de datos. Si migras también los archivos (carpeta modules y themes), todo debería funcionar. Si solo migras la base de datos, los módulos no aparecerán.
¿Puedo hacer la migración desde Syspanel (HestiaCP)?
Sí, el proceso es el mismo. La diferencia es que en Syspanel (HestiaCP, puerto 2106) también tienes phpMyAdmin. Simplemente accede a tu panel (ej: tudominio.com:2106), ve a la sección de bases de datos y sigue los mismos pasos de exportación e importación.
¿Y si me equivoco y pierdo la base de datos original?
No pasa nada si tienes la copia de seguridad (el archivo .sql) que descargaste al exportar. Siempre puedes importarla de nuevo en el servidor antiguo o en cualquier otro. Por eso es vital guardar ese archivo en un lugar seguro.
Consejos finales para una migración sin problemas
La migrar base de datos de PrestaShop no tiene por qué ser una pesadilla. Aquí van unos últimos consejos:
- Haz una copia de seguridad completa de todo (archivos y base de datos) antes de empezar. Nunca está de más.
- Realiza la migración en un horario de bajo tráfico (como de madrugada) para minimizar el impacto.
- Prueba la tienda en un subdominio o carpeta temporal antes de apuntar el dominio principal. Así puedes ver si todo funciona sin afectar a tus clientes.
- Actualiza las URLs en Google Search Console si cambias de dominio. Si solo cambias de servidor, no es necesario.
- Revisa los logs de error de tu nuevo hosting si algo falla. Suelen estar en
cPanel > Errores del sitio web.
Con estos pasos, deberías poder realizar la transferencia de tu base de datos de PrestaShop a otro servidor con cPanel de forma segura y exitosa. Recuerda que la paciencia es clave. Si tienes dudas, consulta con tu nuevo proveedor de hosting; ellos conocen su plataforma y pueden darte una ayuda extra.
¡Buena suerte con tu mudanza digital!
