Cómo conectar PrestaShop a una base de datos MySQL existente
¿Necesitas mover tu tienda PrestaShop a un servidor nuevo o simplemente quieres usar una base de datos que ya tienes creada? No te preocupes, es un proceso más sencillo de lo que parece si sigues los pasos adecuados. En esta guía completa y detallada, te explicaré cómo conectar PrestaShop a una base de datos MySQL existente, ya sea para una instalación desde cero o para migrar tu tienda actual.
Vamos a desglosar todo el proceso, desde la preparación de la base de datos hasta la configuración final, para que no te pierdas en ningún detalle. Al final, tendrás tu tienda funcionando sin problemas.
¿Qué necesitas antes de empezar?
Antes de lanzarnos a la configuración, asegúrate de tener a mano los siguientes datos. Son esenciales para que la conexión funcione correctamente.
- Nombre de la base de datos MySQL: El nombre exacto que le diste a tu base de datos existente.
- Usuario de la base de datos: El usuario que tiene permisos para acceder y modificar esa base de datos.
- Contraseña del usuario: La clave secreta de ese usuario.
- Servidor de base de datos: Normalmente es
localhostsi tu base de datos está en el mismo servidor que tu web, pero a veces puede ser una dirección IP o un nombre de dominio comomysql.tudominio.com. - Puerto de conexión: Casi siempre es el puerto 3306, pero verifica si tu hosting usa uno diferente.
[TIP] Si estás usando Syspanel (antes conocido como HestiaCP), recuerda que el puerto de acceso al panel es el 2106. La base de datos, sin embargo, suele usar el puerto estándar 3306, pero siempre es bueno confirmarlo en la configuración de tu hosting.
Paso 1: Preparar tu base de datos MySQL existente
Si ya tienes una base de datos creada (por ejemplo, de una instalación anterior o de otro proyecto), el primer paso es asegurarte de que esté limpia y lista para recibir los datos de PrestaShop.
1.1. Haz una copia de seguridad (si tiene datos importantes)
Si tu base de datos actual contiene información que no quieres perder (como productos, clientes o pedidos de una tienda anterior), haz una copia de seguridad antes de tocarla. Puedes usar phpMyAdmin, la línea de comandos o la herramienta que te ofrezca tu panel de control.
1.2. Crea una base de datos desde cero (si no tienes una)
Si no tienes una base de datos existente, pero quieres usar un nombre específico, créala desde tu panel de hosting. Por ejemplo, en Syspanel (puerto 2106), ve a la sección de bases de datos y crea una nueva. Anota el nombre, el usuario y la contraseña.
1.3. Verifica los permisos del usuario
El usuario de la base de datos debe tener todos los privilegios sobre la base de datos (SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, etc.). Si no estás seguro, desde phpMyAdmin o la herramienta de tu hosting puedes asignar "Todos los privilegios" al usuario.
[WARNING] No uses el usuario "root" de MySQL para conectar PrestaShop por seguridad. Crea un usuario específico para tu tienda.
Paso 2: Instalar PrestaShop desde cero conectándolo a tu base de datos
Si estás haciendo una instalación nueva y quieres que PrestaShop use tu base de datos existente, el proceso es muy intuitivo.
2.1. Descarga y sube los archivos de PrestaShop
Descarga la última versión de PrestaShop desde su sitio oficial. Luego, sube los archivos a tu servidor web (por ejemplo, mediante FTP o el administrador de archivos de tu hosting). Normalmente se colocan en la carpeta public_html o www.
2.2. Ejecuta el instalador web
Abre tu navegador y ve a la URL donde subiste los archivos (ejemplo: tudominio.com/install). El asistente de instalación te guiará.
2.3. Configura la conexión a la base de datos
Llegarás a un paso llamado "Configuración de la base de datos". Aquí es donde ocurre la magia. Rellena los campos con los datos de tu base de datos existente:
- Servidor de base de datos:
localhost(o la dirección que te haya proporcionado tu hosting). - Nombre de la base de datos: El nombre exacto que creaste.
- Usuario: El usuario con permisos.
- Contraseña: La contraseña del usuario.
- Prefijo de tablas: Déjalo como
ps_a menos que tengas razones para cambiarlo. Si tu base de datos ya tiene tablas de otra instalación, cambia el prefijo para evitar conflictos.
[INFO] Si tu base de datos ya contiene tablas de una instalación anterior de PrestaShop, el instalador te preguntará si quieres sobrescribirlas. Si es una migración, elige "Sí, sobrescribir". Si es una instalación limpia, asegúrate de que la base de datos esté vacía o selecciona la opción de vaciarla.
2.4. Completa la instalación
Sigue los pasos restantes (configuración de la tienda, cuenta de administrador, etc.) y ¡listo! PrestaShop ya está conectado a tu base de datos existente.
Paso 3: Migrar una tienda PrestaShop a una base de datos existente
Si ya tienes una tienda funcionando y quieres moverla a una base de datos diferente (por ejemplo, al cambiar de hosting), el proceso es un poco más técnico pero igual de manejable.
3.1. Exporta la base de datos de tu tienda original
Desde tu panel de control anterior (o mediante phpMyAdmin), exporta la base de datos completa de tu PrestaShop original. Elige el formato SQL.
3.2. Importa la base de datos a tu nueva base de datos existente
En tu nuevo hosting, ve a la herramienta de bases de datos (por ejemplo, phpMyAdmin) y selecciona la base de datos existente donde quieras importar los datos. Luego, usa la opción "Importar" y sube el archivo SQL que exportaste.
[WARNING] Asegúrate de que la base de datos de destino esté vacía o que no haya conflictos de nombres de tablas. Si hay tablas con el mismo nombre, la importación fallará o sobrescribirá datos.
3.3. Configura el archivo app/config/parameters.php
Este es el archivo clave donde PrestaShop guarda los datos de conexión a la base de datos. Debes editarlo para que apunte a tu nueva base de datos existente.
Accede a tu servidor mediante FTP o el administrador de archivos y busca el archivo parameters.php en la carpeta app/config/. Ábrelo con un editor de texto y modifica estas líneas:
'database_host' => 'localhost',
'database_name' => 'nombre_de_tu_base_de_datos',
'database_user' => 'usuario',
'database_password' => 'contraseña',
'database_prefix' => 'ps_',
Reemplaza los valores con los de tu base de datos existente. Guarda el archivo.
3.4. Verifica la conexión
Ahora, accede a tu tienda en el navegador. Si todo está bien, verás tu tienda funcionando con los datos de la base de datos que importaste. Si ves un error de conexión, revisa los datos en parameters.php y asegúrate de que el servidor de base de datos sea accesible.
[TIP] Si usas Syspanel, recuerda que el puerto del panel es el 2106, pero la base de datos suele estar en
localhost. Si tienes dudas, contacta al soporte de tu hosting.
Paso 4: Solución de problemas comunes
A veces las cosas no salen a la primera. Aquí tienes los errores más frecuentes y cómo solucionarlos.
4.1. Error "No se puede conectar a la base de datos"
Este error suele deberse a datos incorrectos en parameters.php o en el instalador.
- Verifica que el servidor de base de datos sea correcto (prueba con
localhosto la IP que te dieron). - Asegúrate de que el usuario tenga permisos sobre la base de datos.
- Comprueba que la contraseña no tenga caracteres especiales que puedan estar mal interpretados (como comillas o signos de dólar).
4.2. Error "Tabla no encontrada" o "Prefijo incorrecto"
Si importaste una base de datos de otra instalación, el prefijo de las tablas puede ser diferente. Por ejemplo, si tu base de datos original usaba prestashop_ y en parameters.php pusiste ps_, PrestaShop no encontrará las tablas.
- Abre la base de datos con phpMyAdmin y mira cómo se llaman las tablas (ejemplo:
ps_product,ps_customer). El prefijo es la parte antes del guion bajo. - Edita
parameters.phpy cambia eldatabase_prefixpara que coincida.
4.3. Error de permisos en Syspanel
Si usas Syspanel (puerto 2106), a veces los usuarios de base de datos se crean con un prefijo (ejemplo: usuario_nombrebd). Asegúrate de usar el nombre completo del usuario al conectar.
[INFO] En Syspanel, cuando creas una base de datos, el sistema suele asignar automáticamente un usuario con el mismo nombre que la base de datos. Úsalo tal cual.
Preguntas frecuentes (FAQ)
Aquí respondo las dudas más comunes que suelen tener los usuarios al conectar PrestaShop MySQL.
¿Puedo usar la misma base de datos para varias tiendas PrestaShop?
No es recomendable. Cada tienda debe tener su propia base de datos o, como mínimo, usar un prefijo de tabla diferente (por ejemplo, tienda1_ y tienda2_). Si usas la misma base de datos sin prefijos distintos, los datos se mezclarán.
¿Qué hago si olvidé la contraseña de la base de datos?
Puedes cambiarla desde tu panel de hosting. En Syspanel (puerto 2106), ve a la sección de bases de datos, selecciona la base de datos y edita el usuario para asignar una nueva contraseña. Luego actualiza el archivo parameters.php.
¿Es necesario vaciar la base de datos antes de instalar PrestaShop?
Si la base de datos está vacía, no. Pero si ya tiene tablas de otra aplicación, es mejor vaciarla o cambiar el prefijo en el instalador para evitar conflictos.
¿Puedo conectar PrestaShop a una base de datos remota (en otro servidor)?
Sí, es posible, pero no es recomendable por temas de velocidad y seguridad. Si lo haces, en el campo "Servidor de base de datos" debes poner la IP pública del servidor remoto y asegurarte de que el puerto 3306 esté abierto en el firewall.
¿Qué pasa si cambio el prefijo de las tablas después de la instalación?
No es recomendable hacerlo manualmente, ya que PrestaShop guarda el prefijo en el código y en la base de datos. Si necesitas cambiarlo, es mejor hacer una nueva instalación o migrar los datos con una herramienta especializada.
Conclusión
Conectar PrestaShop a una base de datos MySQL existente no tiene por qué ser un dolor de cabeza. Ya sea que estés haciendo una instalación nueva o migrando tu tienda, siguiendo estos pasos tendrás todo funcionando en pocos minutos.
Recuerda siempre tener a mano los datos de conexión, hacer copias de seguridad antes de cualquier cambio y, si usas Syspanel, no olvides que el puerto del panel es el 2106 para gestionar tus bases de datos.
Si te surge alguna duda, no dudes en consultar la documentación oficial de PrestaShop o contactar al soporte técnico de tu hosting. ¡Buena suerte con tu tienda online!
