Cómo conectar una base de datos MySQL a PrestaShop (Guía rápida para novatos)
¿Acabas de montar tu tienda online con PrestaShop y te has topado con la temida pantalla de error que te pide los datos de la base de datos? No te preocupes, es una de las primeras barreras que todo el mundo encuentra al lanzar su ecommerce. Conectar MySQL a PrestaShop es un paso fundamental, pero no tiene por qué ser un dolor de cabeza.
En esta guía rápida para novatos, vamos a desglosar, paso a paso, cómo configurar tu base de datos, qué significan esos conceptos tan raros como "host" o "puerto", y cómo solucionar los errores de conexión más comunes. Al final, tendrás tu tienda funcionando y sabrás exactamente qué hacer si algo falla.
¿Qué es MySQL y por qué PrestaShop lo necesita?
Antes de ponernos manos a la obra, es esencial entender qué estamos configurando. Piensa en MySQL como el almacén de tu tienda. Ahí es donde se guardan todos tus productos, pedidos, clientes, contraseñas y configuraciones. PrestaShop es la fachada que ve el cliente, pero sin el almacén (la base de datos), no hay tienda.
Cada vez que alguien visita tu web, PrestaShop va a buscar los datos a MySQL. Si la conexión falla, la tienda se cae y muestra un error. Por eso, conectar MySQL a PrestaShop correctamente es el pilar de tu negocio online.
Requisitos previos: Lo que necesitas tener a mano
Para configurar la base de datos, necesitarás un conjunto de datos que normalmente te proporciona tu empresa de hosting. Si tienes un panel de control como cPanel o Syspanel, podrás crear estos datos tú mismo. Ten a mano:
- Nombre de la base de datos: Ejemplo:
miusuario_presta. - Usuario de la base de datos: Ejemplo:
miusuario_admin. - Contraseña del usuario: La que hayas elegido o te hayan asignado.
- Host o servidor MySQL: Normalmente es
localhost, pero a veces puede ser un servidor remoto. - Puerto de conexión: Casi siempre es el
3306, pero conviene verificarlo.
[WARNING]
Nunca uses tu contraseña de administrador del hosting para la base de datos. Crea siempre una contraseña única y robusta para el usuario de MySQL. Si alguien la obtiene, tendría acceso directo a los datos sensibles de tu tienda.
Paso 1: Crear la base de datos y el usuario (En cPanel y Syspanel)
Lo primero es tener un "espacio" donde guardar los datos. Si tu instalación de PrestaShop no te pide los datos directamente (porque aún no has subido los archivos), es mejor crear la base de datos primero.
Crear en cPanel (el clásico)
cPanel es el panel más común. Busca la sección "Bases de datos MySQL".
- En el campo "Nueva base de datos", escribe un nombre (ej.
tiendaonline). El sistema le añadirá tu usuario al principio (ej.tuusuario_tiendaonline). - Haz clic en "Crear base de datos".
- Ve a la sección "Usuarios MySQL".
- Crea un nuevo usuario (ej.
adminpresta) y asigna una contraseña segura. - Ahora, en "Añadir usuario a la base de datos", selecciona tu usuario y tu base de datos y haz clic en "Añadir".
- Te preguntará por los privilegios. Marca "TODOS LOS PRIVILEGIOS" y confirma.
Crear en Syspanel (El panel moderno)
Si tu hosting usa Syspanel, el proceso es igual de intuitivo, aunque con un aspecto más limpio. Recuerda que el acceso a Syspanel suele ser a través del puerto 2106 (ej. https://tudominio.com:2106).
- Busca la sección "Bases de datos" o "MySQL" en el menú lateral.
- Haz clic en "Añadir base de datos".
- Te pedirá un nombre y, en el mismo paso, puedes crear un usuario para esa base. Rellena los campos: nombre de la BD, nombre de usuario y contraseña.
- Guarda los cambios. Syspanel suele configurar los privilegios automáticamente al crear el usuario vinculado.
Paso 2: Conectar MySQL a PrestaShop durante la instalación
Ahora viene el momento de la verdad. Has subido los archivos de PrestaShop a tu servidor y abres tu dominio en el navegador. Te aparecerá el asistente de instalación.
Llegarás a un paso llamado "Configuración de la base de datos". Es aquí donde debes introducir los datos que creaste antes.
Los campos del formulario (Explicados para novatos)
- Motor de base de datos: Déjalo en MySQL o InnoDB. Es la opción por defecto y la más compatible.
- Dirección del servidor de base de datos: Aquí suele ir
localhost. Sin embargo, si tu hosting tiene las bases de datos en un servidor separado, te darán una dirección tipomysql.tudominio.com. - Nombre de la base de datos: Pega el nombre exacto que creaste (ej.
tuusuario_tiendaonline). - Usuario de la base de datos: El usuario que creaste (ej.
tuusuario_adminpresta). - Contraseña de la base de datos: La contraseña de ese usuario.
- Prefijo de las tablas: Te recomiendo cambiarlo de
ps_a algo comoshop_oprestashop_. Es una medida de seguridad básica que dificulta los ataques de inyección SQL.
[INFO]
Si no estás seguro de si el host eslocalhosto una dirección remota, contacta con tu proveedor de hosting. Es un dato crítico para configurar base datos PrestaShop.
¿Qué pasa si uso un instalador automático (Softaculous, etc.)?
Muchos hostings ofrecen instalación en 1 clic. En ese caso, el sistema te pedirá los datos de la base de datos ANTES de empezar. A veces incluso te ofrece crear la base de datos automáticamente. Si es así, solo tendrás que poner el nombre de la base, el usuario y la contraseña que quieras usar, y el sistema lo crea todo por ti. Aún así, es bueno saber qué hay detrás para cuando quieras migrar o hacer copias de seguridad.
Paso 3: Configurar la conexión en un PrestaShop ya instalado
¿Ya tenías PrestaShop funcionando y has tenido que cambiar de hosting o de servidor de base de datos? No necesitas reinstalar todo. Solo tienes que editar un archivo clave: app/config/parameters.php.
Este archivo contiene las credenciales de conexión. Ábrelo con un editor de texto (como Notepad++ o el editor de archivos de tu hosting) y busca las líneas que empiezan por database_.
Deberías ver algo así:
'database_host' => 'localhost',
'database_name' => 'tuusuario_tiendaonline',
'database_user' => 'tuusuario_adminpresta',
'database_password' => 'TuContraseñaSegura',
'database_prefix' => 'ps_',
Simplemente, reemplaza los valores entre comillas con los nuevos datos. Guarda el archivo y sube los cambios si lo editaste localmente.
[WARNING]
Antes de editarparameters.php, haz una copia de seguridad del archivo original. Si escribes mal una comilla o un punto y coma, la tienda se romperá por completo. Un pequeño error de sintaxis en PHP es fatal.
Errores comunes de conexión y cómo solucionarlos
Aquí es donde la mayoría de la gente se frustra. Verás mensajes como "No se puede conectar a la base de datos" o "Error al establecer conexión con la base de datos". Vamos a desglosar los tres más habituales.
Error 1: "Access denied for user" (Acceso denegado)
Este es el más común. Significa que el usuario o la contraseña no son correctos, o que al usuario no se le han asignado privilegios sobre esa base de datos específica.
Solución:
- Verifica que no hay espacios en blanco al copiar y pegar la contraseña.
- Asegúrate de que el nombre de usuario es el completo (incluyendo el prefijo del hosting, ej.
tuusuario_admin). - Ve a tu panel de control (cPanel/Syspanel) y confirma que el usuario está añadido a la base de datos con TODOS LOS PRIVILEGIOS. Si no, añádelo de nuevo.
Error 2: "Unknown database" (Base de datos desconocida)
El sistema no encuentra la base de datos que le has indicado.
Solución:
- Revisa el nombre de la base de datos. En cPanel, el nombre suele tener un prefijo obligatorio (ej.
tuusuario_). Si pusiste solotiendaonlinepero el nombre real estuusuario_tiendaonline, dará este error. - Si usas Syspanel, verifica que la base de datos no haya sido eliminada por error.
Error 3: "Connection refused" o "No such file or directory" (Conexión rechazada)
Este es más técnico. Significa que PrestaShop no encuentra el servidor MySQL en la dirección que le has dado.
Solución:
- Si pusiste
localhosty te da este error, prueba a cambiarlo por127.0.0.1. - Si tu hosting usa un puerto diferente al 3306, deberás añadir el puerto al final del host, separado por dos puntos. Ejemplo:
mysql.tudominio.com:3307. - Contacta con tu proveedor de hosting. Puede que el servicio MySQL esté caído o que la IP de tu servidor esté bloqueada.
Consejos de seguridad para tu base de datos
Una vez que hayas logrado conectar mysql prestashop, no te olvides de la seguridad. Una base de datos desprotegida es un regalo para los hackers.
- Cambia el prefijo de las tablas: Si ya estás en producción, cambiarlo es un poco más complejo (tendrías que renombrar las tablas vía phpMyAdmin), pero si estás empezando, hazlo.
- Usa contraseñas robustas: Combina mayúsculas, minúsculas, números y símbolos. No uses "admin123" o "password".
- Haz copias de seguridad periódicas: Configura copias automáticas en tu hosting o usa módulos de PrestaShop.
- Limita los privilegios del usuario: Si tienes una tienda en producción, no es necesario que el usuario de la base de datos tenga permisos para borrar bases de datos. Con tener privilegios sobre las tablas de tu tienda es suficiente (SELECT, INSERT, UPDATE, DELETE, etc.). Pero para instalaciones novatas, "Todos los privilegios" es lo más simple.
Preguntas frecuentes (FAQ) sobre conexión MySQL y PrestaShop
¿Qué es el puerto 3306?
Es el puerto estándar por defecto para las conexiones MySQL. Es como el "número de puerta" del servidor de base de datos. A veces, por seguridad, se cambia a otro número, pero es raro en hosting compartido.
¿Puedo usar SQLite en lugar de MySQL?
No. PrestaShop está diseñado para funcionar exclusivamente con bases de datos MySQL o MariaDB (que es una versión mejorada y compatible). No uses otro motor.
¿Cómo sé si mi hosting usa Syspanel?
Si tu panel de control tiene un diseño moderno y minimalista, es probable que sea Syspanel. Para acceder, normalmente añades :2106 al final de tu dominio (ej. https://tudominio.com:2106). Si no te funciona, revisa el correo de bienvenida de tu hosting.
¿Puedo cambiar el host de localhost a una IP después de instalar?
Sí, solo tienes que editar el archivo app/config/parameters.php y luego borrar la carpeta var/cache (o cache en versiones antiguas) para que PrestaShop no use datos antiguos en caché.
El error persiste, ¿qué hago?
Si has seguido todos los pasos y el error es el mismo, el problema puede estar en el servidor. Contacta con tu proveedor de hosting y diles exactamente el mensaje de error. Ellos podrán ver los logs del servidor MySQL y decirte si hay algún bloqueo.
¿Necesito conocimientos avanzados de programación?
No. Esta guía está pensada para que cualquier persona, sin saber PHP o SQL, pueda configurar base datos PrestaShop sin llorar por el camino. Solo necesitas saber leer y copiar nombres correctamente.
Con esto, ya tienes el conocimiento necesario para dominar la conexión de tu tienda. Ve paso a paso, con calma, y sobre todo, no te saltes el paso de verificar los nombres exactos de la base de datos y el usuario. La mayoría de los errores vienen de un simple error de dedo al escribir. ¡Mucha suerte con tu tienda!
