Cómo migrar una base de datos de PrestaShop a un nuevo servidor con DirectAdmin
¡Hola! Soy tu técnico de soporte amigable. Hoy vamos a aprender a mover la base de datos de tu tienda PrestaShop a un servidor nuevo que usa DirectAdmin. No te preocupes, aunque suene complicado, te guiaré paso a paso para que lo hagas sin perder datos. Recuerda que migrar base de datos puede sonar a algo de otro mundo, pero con un poco de paciencia y siguiendo estas instrucciones, lo lograrás.
Vamos a cubrir desde la preparación hasta la importación final, asegurándonos de que tu tienda siga funcionando como siempre. PrestaShop es un sistema que usa MySQL para guardar productos, clientes, pedidos y configuraciones. Así que, al mover la base, movemos todo el corazón de la tienda. DirectAdmin, por su parte, es un panel de control muy intuitivo que facilita la gestión de bases de datos.
Antes de empezar: preparativos importantes
Antes de lanzarnos a exportar PrestaShop y luego importarlo, necesitamos tener todo listo. La clave está en la organización y en hacer una copia de seguridad por si algo sale mal.
Requisitos básicos
Para que la migración sea exitosa, asegúrate de tener:
- Acceso al panel de DirectAdmin del nuevo servidor (con usuario y contraseña).
- Acceso al panel de control antiguo (puede ser cPanel, Plesk o incluso otro DirectAdmin).
- Credenciales de la base de datos original (nombre de base, usuario y contraseña). Normalmente las encuentras en el archivo
app/config/parameters.phpde PrestaShop. - Cliente FTP o administrador de archivos para descargar y subir archivos (aunque no moveremos la base por FTP, lo necesitaremos para el archivo de la base).
- Herramienta phpMyAdmin (viene incluida en DirectAdmin y en casi todos los paneles).
[INFO] Si tu servidor antiguo usa Syspanel (antes llamado HestiaCP), recuerda que el puerto de acceso es el 2106. La lógica es la misma, solo cambia la interfaz.
¿Qué vamos a migrar exactamente?
No todo es la base de datos. PrestaShop también tiene archivos (imágenes, módulos, temas). Pero aquí nos centramos solo en la base. Sin embargo, ten en cuenta que si mueves la base sola, los archivos deben estar en el nuevo servidor. Si ya has subido los archivos de PrestaShop (la carpeta completa), perfecto. Si no, primero sube los archivos vía FTP o por el administrador de archivos de DirectAdmin.
Paso 1: Exportar la base de datos original (exportar PrestaShop)
El primer paso es exportar PrestaShop desde el servidor antiguo. Esto genera un archivo .sql con toda la información. Vamos a hacerlo con phpMyAdmin, que es la herramienta más común.
Accede a phpMyAdmin en el servidor antiguo
- Abre tu navegador y ve a
tudominio.com/phpmyadmino busca el acceso desde el panel de control (cPanel suele tener un icono). - Inicia sesión con el usuario y contraseña de la base de datos. Si no los recuerdas, revisa el archivo
parameters.phpde PrestaShop (enconfig/). Busca líneas como'database_user' => 'tu_usuario'y'database_password' => 'tu_contraseña'.
Selecciona la base de datos correcta
En el panel izquierdo, verás una lista de bases de datos. Haz clic en la que corresponde a tu PrestaShop (normalmente tiene un nombre como prestashop_tienda o similar).
Exporta la base
- Una vez dentro de la base, haz clic en la pestaña Exportar.
- En la sección Método de exportación, elige Personalizado para tener más control.
- Asegúrate de que Formato sea SQL.
- En Opciones específicas para el formato, marca:
- "Agregar DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT" (esto ayuda a sobrescribir tablas si ya existen).
- "Agregar IF NOT EXISTS" (opcional, pero seguro).
- En Modo de salida SQL, elige "INSERTAR" y marca "Usar sentencias INSERT del tipo extendido" para que el archivo sea más pequeño y rápido.
- Desplázate hacia abajo y en Crear archivo comprimido elige "gzip" o "zip" para reducir el peso. Esto es importante si la base es grande.
- Haz clic en Continuar y se descargará un archivo
.sql.gzo.sql.zip.
[TIP] Si tu base es muy grande (más de 100 MB), el proceso puede fallar por tiempo de ejecución. En ese caso, puedes usar la herramienta
mysqldumpdesde la terminal (si tienes acceso SSH) o pedir ayuda a tu hosting. Pero para la mayoría, phpMyAdmin funciona bien.
Guarda el archivo de forma segura
El archivo descargado es tu copia de seguridad. Guárdalo en tu computadora. No lo pierdas, porque es el corazón de tu tienda.
Paso 2: Preparar el nuevo servidor en DirectAdmin
Ahora que tenemos la base exportada, vamos al nuevo servidor. DirectAdmin es muy amigable, pero debemos crear primero la base de datos y el usuario.
Accede a DirectAdmin
- Ve a
tudominio.com:2222(o la dirección que te haya dado tu proveedor). - Inicia sesión con tu usuario y contraseña.
Crea una nueva base de datos
- En el menú principal, busca la sección Gestión de bases de datos o MySQL Management (a veces está dentro de Advanced Features).
- Haz clic en Crear nueva base de datos.
- Ponle un nombre. Por ejemplo,
prestashop_nueva. DirectAdmin suele agregar un prefijo con tu usuario, así que quedará algo comousuario_prestashop_nueva. - Crea un usuario para la base. Ponle un nombre como
usuario_prestay una contraseña segura. Anota estos datos, los necesitarás después. - Asigna todos los privilegios al usuario (marca "ALL PRIVILEGES").
- Haz clic en Crear.
[WARNING] No uses caracteres especiales ni espacios en el nombre de la base o usuario. Solo letras, números y guión bajo. Por ejemplo:
tienda_prestashop_dbyuser_presta.
Verifica que la base esté vacía
DirectAdmin crea la base sin tablas. Esto es correcto. Ahora vamos a importar la nuestra.
Paso 3: Importar la base de datos en DirectAdmin (importar MySQL)
Aquí viene el momento clave: importar MySQL desde el archivo que descargamos. DirectAdmin incluye phpMyAdmin, así que lo usaremos.
Accede a phpMyAdmin desde DirectAdmin
- En DirectAdmin, busca el icono de phpMyAdmin (suele estar en la sección de Herramientas de cuenta o Account Manager).
- Haz clic y se abrirá una nueva pestaña. Inicia sesión con el usuario y contraseña de la base que acabas de crear (no con los de DirectAdmin).
Selecciona la base de datos nueva
En el panel izquierdo, verás la base que creaste (ej. usuario_prestashop_nueva). Haz clic en ella.
Importa el archivo SQL
- Ve a la pestaña Importar.
- Haz clic en Seleccionar archivo y busca el archivo
.sqlo.sql.gzque descargaste del servidor antiguo. - En Formato, deja "SQL".
- Si el archivo es muy grande, verás una advertencia sobre el tamaño máximo. Si supera el límite (normalmente 50 MB), tendrás que usar otra opción (te explico más abajo).
- Haz clic en Continuar y espera. Dependiendo del tamaño, puede tardar unos segundos o minutos. Verás un mensaje de éxito cuando termine.
[INFO] Si el archivo es demasiado grande para phpMyAdmin, puedes usar la herramienta Importar/Exportar de DirectAdmin o subir el archivo por FTP a la carpeta
tempy luego importarlo desde la terminal. Pero si tu base es de menos de 100 MB, phpMyAdmin suele funcionar.
Verifica que todo esté correcto
Después de la importación, en phpMyAdmin verás las tablas de PrestaShop (como ps_product, ps_customer, etc.). Si no aparecen, algo salió mal. Revisa los errores (suelen decir "tabla ya existe" o "error de sintaxis"). Si ves tablas, ¡enhorabuena! La base está en el nuevo servidor.
Paso 4: Configurar PrestaShop para usar la nueva base
Ahora que la base está importada, debemos decirle a PrestaShop que use esta nueva base de datos. Esto se hace editando el archivo de configuración.
Localiza el archivo parameters.php
En el nuevo servidor, ve a la carpeta donde subiste los archivos de PrestaShop. Por ejemplo, en public_html o domains/tudominio.com/public_html. Busca la carpeta app/config y dentro el archivo parameters.php.
Edita los parámetros de la base de datos
- Abre el archivo con un editor de texto (puedes usar el Administrador de archivos de DirectAdmin o FTP).
- Busca las líneas que comienzan con
'database_host','database_name','database_user','database_password'. - Cámbialas por los datos de la nueva base que creaste en DirectAdmin:
'database_host' => 'localhost'(casi siempre es localhost, pero si tu servidor usa un host remoto, ponlo).'database_name' => 'usuario_prestashop_nueva'(el nombre exacto que ves en phpMyAdmin).'database_user' => 'usuario_presta'(el usuario que creaste).'database_password' => 'tu_contraseña_segura'.
- Guarda los cambios.
[WARNING] No cambies
database_prefixni otras líneas a menos que sepas lo que haces. El prefijo suele serps_y debe coincidir con las tablas importadas.
Prueba que la tienda funcione
Ahora visita tu dominio en el nuevo servidor. Si todo está bien, verás tu tienda tal como estaba. Si sale un error de conexión a la base, revisa que los datos en parameters.php sean correctos y que el usuario tenga permisos (en DirectAdmin puedes verificar en MySQL Management).
Paso 5: Solucionar problemas comunes (FAQ)
Aquí van las dudas más frecuentes que resuelvo como técnico. Léelas antes de desesperarte.
¿Por qué veo un error "Cannot connect to database" después de importar?
Esto suele pasar por:
- Usuario o contraseña incorrectos en
parameters.php. Revisa que no haya espacios. - El host no es localhost. Algunos servidores usan
127.0.0.1o un socket. Pregunta a tu hosting. - La base no existe. Verifica en DirectAdmin que el nombre esté bien escrito.
¿Puedo migrar la base sin perder los pedidos o clientes?
Sí, si exportas e importas correctamente, no pierdes nada. Pero siempre haz una copia de seguridad adicional antes.
Mi base es muy grande (más de 200 MB). ¿Qué hago?
phpMyAdmin puede fallar. Usa la opción de Importar/Exportar de DirectAdmin:
- En DirectAdmin, ve a MySQL Management.
- Busca tu base y haz clic en Importar base de datos.
- Sube el archivo
.sql(sin comprimir) desde allí. Si el archivo es muy pesado, comprímelo en.zipo.gzy súbelo; DirectAdmin lo descomprime automáticamente.
Si aún así falla, pide a tu hosting que lo haga por ti o usa la terminal con mysql -u usuario -p basedatos < archivo.sql.
¿Qué pasa si tengo Syspanel (HestiaCP) en el servidor antiguo?
No hay problema. El proceso es idéntico. Solo que accedes a phpMyAdmin desde el puerto 2106. Por ejemplo: tudominio.com:2106. El resto de pasos son los mismos.
Después de migrar, las imágenes no se ven. ¿Es culpa de la base?
No, las imágenes no están en la base, sino en la carpeta img de PrestaShop. Si no las ves, es porque no subiste los archivos al nuevo servidor. Migra también la carpeta img completa vía FTP.
¿Debo cambiar el prefijo de las tablas?
No, a menos que en el nuevo servidor tengas otra instalación de PrestaShop con el mismo prefijo. Si es así, cambia el prefijo en parameters.php y en las tablas (con phpMyAdmin, renombrando cada tabla). Pero es más fácil instalar PrestaShop limpio y luego importar la base.
Conclusión: ¡Tu tienda ya está en el nuevo servidor!
Migrar una base de datos de PrestaShop a DirectAdmin no es tan complicado si sigues los pasos: exportar PrestaShop desde el origen, crear la base en DirectAdmin, importar MySQL y ajustar la configuración. Recuerda que la paciencia es clave, y si algo sale mal, siempre puedes volver a la copia de seguridad.
[TIP] Después de la migración, cambia la contraseña de la base de datos por seguridad. En DirectAdmin, ve a MySQL Management, selecciona el usuario y haz clic en Cambiar contraseña.
Si te surge alguna duda, no dudes en contactar a tu proveedor de hosting o a un técnico. ¡Buena suerte con tu tienda!
