Cómo migrar una base de datos de PrestaShop de un servidor a otro en Plesk
Migrar una tienda PrestaShop a un nuevo servidor puede parecer un proceso complejo, pero si sigues los pasos adecuados, es una tarea bastante sencilla. La base de datos es el corazón de tu tienda, ya que almacena productos, pedidos, clientes y configuraciones. En este artículo, te guiaré paso a paso para que puedas migrar una base de datos de PrestaShop de un servidor a otro utilizando Plesk. Aprenderás a exportar, importar y verificar que todo funcione correctamente, sin necesidad de ser un experto técnico.
[INFO] Este tutorial está optimizado para usuarios de Plesk, pero los conceptos son aplicables a otros paneles de control. Si usas Syspanel (antes HestiaCP), recuerda que el puerto de acceso es el 2106 y los pasos son similares.
¿Qué necesitas antes de empezar?
Antes de lanzarte a migrar la base de datos, asegúrate de tener lo siguiente a mano:
- Acceso a Plesk en el servidor de origen (donde está tu tienda actual).
- Acceso a Plesk en el servidor de destino (donde quieres mover la tienda).
- Credenciales de la base de datos actual (nombre de la base, usuario y contraseña). Las encuentras en Plesk > Bases de datos.
- Copia de seguridad de archivos de PrestaShop (la carpeta completa de la tienda). Aunque este artículo se centra en la base de datos, es recomendable tener una copia de los archivos por si acaso.
- Cliente FTP o SFTP (opcional, pero útil para verificar archivos de configuración).
[WARNING] Siempre realiza una copia de seguridad completa de tu base de datos antes de cualquier migración. Un error puede borrar datos importantes. En Plesk, puedes crear una copia de seguridad desde la sección "Bases de datos".
Paso 1: Exportar la base de datos desde el servidor de origen
El primer paso es exportar la base de datos de tu PrestaShop desde el servidor actual. En Plesk, este proceso es muy visual y no requiere comandos complicados.
Acceder a la base de datos en Plesk
- Inicia sesión en Plesk con tu usuario administrador.
- En el panel izquierdo, busca la sección "Bases de datos". Si no la ves, haz clic en "Sitios web y dominios" y luego busca el icono de "Bases de datos".
- Verás una lista con todas las bases de datos de tus sitios. Localiza la que corresponde a tu PrestaShop. Normalmente se llama algo como
prestashop_dbotienda_presta. - Haz clic en el nombre de la base de datos para abrir sus opciones.
Crear un volcado (dump) de la base de datos
Dentro de la página de la base de datos, encontrarás varias opciones:
- Busca el botón "Exportar" (o "Export dump"). En versiones recientes de Plesk, puede estar en la parte superior derecha.
- Plesk te preguntará qué formato deseas. Selecciona "SQL" (es el estándar y compatible con PrestaShop).
- Marca la opción "Exportar todas las tablas" (por defecto está seleccionada).
- Haz clic en "Aceptar" o "Exportar".
Plesk descargará automáticamente un archivo con extensión .sql en tu computadora. Este archivo contiene toda la información de tu tienda: productos, pedidos, clientes, módulos, etc.
[TIP] Si la base de datos es muy grande (más de 100 MB), es posible que la descarga tarde unos minutos. No cierres la ventana del navegador.
Alternativa: exportar con phpMyAdmin
Si prefieres usar una herramienta más clásica, Plesk suele incluir phpMyAdmin. Para acceder:
- En la misma página de la base de datos, busca el enlace "phpMyAdmin" (suele estar abajo o en un menú desplegable).
- Se abrirá una nueva pestaña con phpMyAdmin. Verás la estructura de tu base de datos.
- Haz clic en la pestaña "Exportar" en la parte superior.
- Elige el método "Rápido" y formato "SQL".
- Haz clic en "Continuar" y se descargará el archivo.
[INFO] Ambos métodos son válidos. El de Plesk es más directo, pero phpMyAdmin te da más control si necesitas excluir ciertas tablas (por ejemplo, logs de pedidos antiguos).
Paso 2: Preparar el servidor de destino
Ahora que tienes el archivo .sql en tu computadora, es hora de preparar el nuevo servidor. Aquí crearás una nueva base de datos vacía donde importarás los datos.
Crear una nueva base de datos en Plesk
- Inicia sesión en Plesk del servidor de destino.
- Ve a "Sitios web y dominios" y luego a "Bases de datos".
- Haz clic en el botón "Añadir base de datos" (o "Create Database").
- Completa los campos:
- Nombre de la base de datos: Puedes usar el mismo nombre que en el servidor de origen o uno nuevo (ej.
prestashop_nueva). - Usuario de la base de datos: Crea un nuevo usuario o usa uno existente. Recomiendo crear uno nuevo para evitar conflictos.
- Contraseña: Genera una contraseña segura. Puedes usar el generador de Plesk.
- Nombre de la base de datos: Puedes usar el mismo nombre que en el servidor de origen o uno nuevo (ej.
- Haz clic en "Aceptar".
Plesk creará la base de datos vacía y te mostrará los datos de conexión (nombre, usuario, servidor). Guarda esta información, la necesitarás para configurar PrestaShop más adelante.
[WARNING] No importes la base de datos en una base ya existente que contenga datos de otra tienda. Podrías mezclar información y romper todo. Crea siempre una nueva.
Paso 3: Importar la base de datos en el servidor de destino
Con la base de datos vacía lista, ahora subiremos el archivo .sql que exportaste.
Importar usando Plesk (método directo)
- En la misma sección "Bases de datos" del servidor de destino, haz clic en el nombre de la base de datos que acabas de crear.
- Busca el botón "Importar" (puede estar al lado de "Exportar").
- Haz clic en "Seleccionar archivo" y elige el archivo
.sqlque descargaste. - Plesk te mostrará opciones adicionales. Deja las que vienen por defecto (normalmente "Crear tablas si no existen" y "Ignorar errores").
- Haz clic en "Aceptar" o "Importar".
El proceso puede tardar desde unos segundos hasta varios minutos, dependiendo del tamaño de la base de datos. Verás una barra de progreso. Al finalizar, Plesk te confirmará que la importación fue exitosa.
[TIP] Si la importación falla por un error de tamaño máximo de archivo (límite de PHP), puedes usar phpMyAdmin en el servidor de destino. Sigue el mismo proceso que en el Paso 1, pero selecciona "Importar" en lugar de "Exportar".
Verificar la importación
Para asegurarte de que todo se ha copiado correctamente:
- Dentro de la base de datos en Plesk, haz clic en "phpMyAdmin".
- Verás la lista de tablas. Deberían aparecer decenas de tablas con nombres como
ps_product,ps_customer,ps_orders, etc. - Haz clic en alguna tabla (por ejemplo,
ps_product) y revisa que tenga filas (registros). Si ves datos, la importación fue exitosa.
Paso 4: Configurar PrestaShop para usar la nueva base de datos
Ahora que la base de datos está en el nuevo servidor, debes decirle a PrestaShop que la use. Esto se hace modificando el archivo de configuración parameters.php o settings.inc.php, dependiendo de la versión.
Localizar el archivo de configuración
- Conéctate al servidor de destino mediante FTP o SFTP.
- Navega hasta la carpeta donde instalaste PrestaShop (normalmente en
/var/www/vhosts/tudominio.com/httpdocs/o similar). - Busca el archivo
app/config/parameters.php(para PrestaShop 1.7 y 8.x) oconfig/settings.inc.php(para PrestaShop 1.6).
Editar los datos de conexión
Abre el archivo con un editor de texto (como Notepad++ o el editor de Plesk). Busca las líneas que contienen:
'database_host' => 'localhost',
'database_name' => 'nombre_base_anterior',
'database_user' => 'usuario_anterior',
'database_password' => 'contraseña_anterior',
Reemplaza estos valores con los de la nueva base de datos que creaste en el servidor de destino:
database_host: Normalmente eslocalhostsi la base de datos está en el mismo servidor. Si usas un servidor remoto, pon la IP o nombre del host (por ejemplo,mysql.tudominio.com).database_name: El nombre que le diste a la nueva base (ej.prestashop_nueva).database_user: El usuario que creaste.database_password: La contraseña de ese usuario.
[WARNING] Asegúrate de que el usuario de la base de datos tenga permisos completos (SELECT, INSERT, UPDATE, DELETE, CREATE, etc.). En Plesk, al crear el usuario, por defecto se le asignan todos los privilegios. Si no, puedes editarlos desde la sección "Bases de datos" > "Usuarios".
Guarda el archivo y ciérralo.
Paso 5: Probar la conexión y la tienda
Una vez modificado el archivo de configuración, es hora de probar que todo funcione.
Acceder a la tienda
- Abre tu navegador y visita la URL de tu tienda (ej.
https://tudominio.com). - Si todo está bien, verás la tienda funcionando normalmente con todos los productos, pedidos y clientes.
Verificar el back office
- Accede al panel de administración de PrestaShop (normalmente
https://tudominio.com/admin1234). - Inicia sesión con tus credenciales de siempre.
- Revisa que puedas ver los pedidos, productos y módulos. Si todo está correcto, la migración fue un éxito.
[INFO] Si ves un error de conexión a la base de datos (pantalla en blanco o mensaje "Cannot connect to database"), revisa que los datos en
parameters.phpsean correctos. También verifica que el servidor de base de datos esté funcionando y que el usuario tenga los permisos adecuados.
Solución de problemas comunes (FAQ)
A veces, incluso siguiendo los pasos, pueden surgir inconvenientes. Aquí tienes soluciones para los problemas más frecuentes.
1. Error "Table 'ps_xxx' doesn't exist" después de la importación
Esto suele ocurrir si la importación no se completó o si el archivo .sql está corrupto. Vuelve a exportar la base de datos desde el origen, asegurándote de que no haya errores. Luego, en el destino, elimina la base de datos actual y crea una nueva, e importa de nuevo.
2. La tienda carga muy lenta en el nuevo servidor
Puede deberse a que la nueva base de datos no tiene los índices correctos o que el servidor tiene menos recursos. Revisa la configuración de PHP y MySQL en Plesk. También puedes optimizar las tablas desde phpMyAdmin (selecciona todas las tablas y elige "Optimizar tabla").
3. Los enlaces de las imágenes no funcionan
Las imágenes de productos no se almacenan en la base de datos, sino en la carpeta img de PrestaShop. Si no copiaste los archivos de la tienda, las imágenes no aparecerán. Asegúrate de migrar también todos los archivos (puedes hacerlo por FTP o usando la herramienta de copia de seguridad de Plesk).
4. No puedo acceder al back office
Si olvidaste cambiar la URL de la tienda en la base de datos, puede que el back office redirija a la antigua dirección. Para solucionarlo, edita la tabla ps_configuration (o ps_shop_url) en la nueva base de datos y cambia los campos domain y physical_uri por los nuevos valores.
[TIP] Siempre haz una prueba en un subdominio o entorno de desarrollo antes de migrar la tienda en producción. Así evitas tiempos de inactividad.
Conclusión
Migrar una base de datos de PrestaShop usando Plesk es un proceso estructurado que, si se sigue con cuidado, no presenta mayores complicaciones. Recuerda que la clave está en exportar correctamente, importar en una base nueva y actualizar la configuración de PrestaShop. Con estos pasos, tu tienda estará funcionando en el nuevo servidor en pocos minutos.
Si encuentras algún problema, no dudes en consultar la documentación oficial de Plesk o de PrestaShop, o contactar con tu proveedor de hosting. Y recuerda: siempre mantén copias de seguridad actualizadas.
[WARNING] Si tu servidor de destino usa Syspanel (HestiaCP), el proceso es similar, pero accede al panel a través del puerto 2106 (ejemplo:
https://tudominio.com:2106). La exportación e importación se realiza desde la sección "Bases de datos" de ese panel.
¡Buena suerte con tu migración!
