Cómo migrar una base de datos de PrestaShop a un nuevo servidor DirectAdmin
¡Hola! Soy tu técnico de soporte amigable. Hoy vamos a ver paso a paso cómo migrar una base de datos de PrestaShop a un nuevo servidor que utiliza DirectAdmin. No te preocupes si no eres un experto, lo haremos fácil y visual. Al final, tendrás tu tienda funcionando sin perder ni un cliente, ni un producto, ni un pedido.
Antes de empezar: ¿Qué necesitas?
Para hacer esta migración correctamente, necesitas tener a mano lo siguiente:
- Acceso al panel de DirectAdmin del servidor nuevo (usuario y contraseña).
- Acceso al panel de control antiguo (puede ser cPanel, Plesk, otro DirectAdmin, o incluso un acceso por FTP/SSH).
- Los datos de conexión a la base de datos antigua: nombre de la base, usuario y contraseña. Esto lo encuentras en el archivo
/config/settings.inc.phpde tu PrestaShop. - Una copia de seguridad de los archivos de PrestaShop (no solo la base de datos, sino también las carpetas
img,modules,themes, etc.). Aunque hoy nos centramos en la base de datos, es buena práctica tener todo respaldado.
[INFO] Si tu servidor antiguo usa HestiaCP (que ahora llamamos Syspanel), el acceso suele ser por el puerto 2106. Por ejemplo:
https://tudominio.com:2106. Allí encontrarás las herramientas de bases de datos.
Paso 1: Exportar la base de datos desde el servidor antiguo
La base de datos de PrestaShop contiene toda la información de tu tienda: productos, clientes, pedidos, configuraciones, etc. Vamos a extraerla.
1.1 Accede a phpMyAdmin en el servidor antiguo
Cada panel tiene su acceso:
- DirectAdmin / cPanel / Syspanel: Busca el icono de phpMyAdmin dentro de la sección de Bases de Datos.
- Syspanel (HestiaCP): Recuerda, el puerto es el 2106. Una vez dentro, ve a Bases de Datos y haz clic en phpMyAdmin.
1.2 Selecciona la base de datos de PrestaShop
En phpMyAdmin, verás una lista de bases de datos a la izquierda. Busca la que corresponde a tu PrestaShop. Normalmente se llama algo como prestashop_db o usuario_prestashop. Haz clic en ella.
1.3 Exporta la base de datos
Una vez dentro de la base de datos, sigue estos pasos:
- Haz clic en la pestaña Exportar (en la parte superior).
- Asegúrate de que el método sea Rápido (o "Quick").
- El formato debe ser SQL.
- Haz clic en Continuar o Exportar.
Se descargará un archivo con extensión .sql. Guárdalo en una carpeta segura de tu ordenador. Este archivo contiene toda la información de tu tienda.
[TIP] Si tu base de datos es muy grande (más de 50 MB), puede que la exportación falle por límites de tiempo. En ese caso, pide a tu hosting que te ayude o usa una herramienta como
mysqldumpvía SSH. Pero para la mayoría de tiendas pequeñas y medianas, phpMyAdmin funciona perfecto.
Paso 2: Crear la base de datos en el nuevo servidor DirectAdmin
Ahora vamos al servidor nuevo. DirectAdmin tiene un asistente muy sencillo.
2.1 Accede a DirectAdmin
Ingresa con tu usuario y contraseña. Normalmente la URL es algo como https://tudominio.com:2222.
2.2 Ve a la sección de Bases de Datos
Busca el icono que dice MySQL Management (o Administración de MySQL). Haz clic.
2.3 Crea una nueva base de datos
- En el campo Base de datos, escribe un nombre, por ejemplo:
miprestashop_nueva. - En Usuario, escribe un nombre para el usuario, por ejemplo:
miprestashop_user. - En Contraseña, escribe una contraseña segura. Puedes usar el generador que te ofrece DirectAdmin.
- Haz clic en Crear.
[WARNING] Anota el nombre de la base, el usuario y la contraseña. Los necesitarás más adelante para configurar PrestaShop.
DirectAdmin creará automáticamente la base de datos y el usuario con todos los permisos necesarios.
Paso 3: Importar la base de datos al nuevo servidor
Ahora vamos a meter los datos de tu tienda en la base de datos que acabamos de crear.
3.1 Abre phpMyAdmin en DirectAdmin
Dentro de DirectAdmin, en la misma sección de MySQL Management, verás un enlace a phpMyAdmin. Haz clic.
3.2 Selecciona la base de datos nueva
A la izquierda, haz clic en el nombre de la base de datos que creaste (ej: miprestashop_nueva).
3.3 Importa el archivo SQL
- Haz clic en la pestaña Importar.
- Haz clic en Elegir archivo y selecciona el archivo
.sqlque descargaste del servidor antiguo. - Asegúrate de que el formato sea SQL.
- Haz clic en Continuar.
Dependiendo del tamaño, la importación puede tardar unos segundos o varios minutos. Verás una barra de progreso. Cuando termine, aparecerá un mensaje de éxito.
[TIP] Si el archivo es muy grande y la importación falla, puedes dividirlo en partes más pequeñas o pedir a tu hosting que aumente el límite de subida. Otra opción es usar la línea de comandos, pero eso ya es más técnico.
Paso 4: Configurar PrestaShop para usar la nueva base de datos
Ahora que la base de datos está en el nuevo servidor, debemos decirle a PrestaShop que se conecte a ella.
4.1 Localiza el archivo de configuración
El archivo clave es config/settings.inc.php (en versiones antiguas de PrestaShop) o app/config/parameters.php (en PrestaShop 1.7 y superiores). Lo encuentras en la raíz de tu instalación de PrestaShop.
4.2 Edita los datos de conexión
Abre el archivo con un editor de texto (Bloc de notas, Sublime Text, etc.). Busca las líneas que definen:
_DB_SERVER_(servidor, normalmentelocalhost)_DB_NAME_(nombre de la base de datos)_DB_USER_(usuario)_DB_PASSWD_(contraseña)
Cámbialos por los datos de la nueva base de datos que creaste en DirectAdmin.
Por ejemplo, si antes tenía:
define('_DB_SERVER_', 'localhost');
define('_DB_NAME_', 'antiguo_prestashop');
define('_DB_USER_', 'antiguo_usuario');
define('_DB_PASSWD_', 'antigua_contraseña');
Ahora debe quedar:
define('_DB_SERVER_', 'localhost');
define('_DB_NAME_', 'miprestashop_nueva');
define('_DB_USER_', 'miprestashop_user');
define('_DB_PASSWD_', 'tu_nueva_contraseña');
Guarda el archivo.
[WARNING] Si usas PrestaShop 1.7+, el archivo es
app/config/parameters.phpy la estructura es similar pero en formato array. Buscadatabase_host,database_name,database_user,database_password.
4.3 Sube los archivos al nuevo servidor (si no lo has hecho)
Si aún no has movido los archivos de PrestaShop al nuevo servidor, hazlo ahora mediante FTP o el gestor de archivos de DirectAdmin. Asegúrate de que la carpeta config (o app/config) tenga los permisos correctos (normalmente 755).
Paso 5: Probar la tienda y solucionar errores comunes
Una vez que todo está en su lugar, visita tu dominio. Si todo salió bien, verás tu tienda funcionando exactamente como antes.
5.1 Errores frecuentes y cómo solucionarlos
- Error "No se puede conectar a la base de datos": Revisa que los datos en el archivo de configuración sean correctos. Asegúrate de que el usuario tenga privilegios sobre la base (DirectAdmin los asigna automáticamente, pero verifica en phpMyAdmin).
- Página en blanco o error 500: Puede ser por permisos de archivos. En DirectAdmin, ve al gestor de archivos y asegúrate de que la carpeta
configtenga permisos 755 y los archivos dentro 644. - Imágenes rotas: Si las imágenes no se ven, es porque no has migrado la carpeta
img. Asegúrate de haber copiado también esa carpeta del servidor antiguo. - Enlaces rotos: Si tu tienda usaba URLs amigables, puede que necesites regenerar el
.htaccess. Ve al panel de administración de PrestaShop, a Parámetros de la tienda > Tráfico y SEO, y guarda de nuevo la configuración de URLs amigables.
5.2 Actualiza la caché
Después de la migración, es recomendable limpiar la caché de PrestaShop:
- Ve a Parámetros avanzados > Rendimiento.
- Haz clic en Limpiar caché (tanto la de Smarty como la de Symfony si aparece).
Preguntas frecuentes (FAQ)
¿Puedo migrar solo la base de datos sin los archivos?
No. La base de datos contiene los datos, pero los archivos (imágenes, módulos, temas) son necesarios para que la tienda se vea y funcione. Debes migrar ambos.
¿Qué pasa si mi base de datos es muy grande y no puedo exportarla con phpMyAdmin?
Pide a tu hosting que te ayude o usa la herramienta mysqldump vía SSH. También puedes usar plugins de PrestaShop para hacer copias de seguridad.
¿Necesito cambiar algo en la base de datos después de importarla?
Generalmente no, a menos que hayas cambiado la URL de la tienda (por ejemplo, de tiendavieja.com a tiendanueva.com). En ese caso, deberías actualizar las URLs en la tabla ps_configuration y ps_shop_url. Pero si solo cambias de servidor con el mismo dominio, no es necesario.
¿Puedo hacer la migración sin tener que editar archivos manualmente?
Sí, algunos plugins de PrestaShop permiten hacer migraciones guiadas. Pero el método manual es más fiable y te da control total.
¿Syspanel (HestiaCP) tiene las mismas herramientas que DirectAdmin?
Sí, ambas tienen phpMyAdmin y gestor de bases de datos. La diferencia principal es que en Syspanel el acceso es por el puerto 2106. Los pasos para exportar e importar son los mismos.
Conclusión
Migrar una base de datos de PrestaShop a un nuevo servidor DirectAdmin no es complicado si sigues estos pasos. Recuerda siempre hacer una copia de seguridad antes de empezar y verificar que los datos de conexión sean correctos.
Si te surge alguna duda, no dudes en contactar con tu proveedor de hosting o con un técnico especializado. ¡Tu tienda estará funcionando en un abrir y cerrar de ojos!
[TIP FINAL] Después de la migración, revisa que todos los módulos funcionen correctamente y que los pedidos y clientes estén intactos. Una comprobación rápida en el panel de administración te dará tranquilidad.
¡Buena suerte con tu migración!
