Cómo conectar PrestaShop a una base de datos MySQL: Guía de instalación y configuración
Antes de Empezar: ¿Qué Necesitas Saber?
Conectar PrestaShop a una base de datos MySQL es uno de los pasos más importantes durante la instalación de tu tienda online. Sin una conexión correcta, la plataforma simplemente no puede funcionar, ya que todos tus productos, pedidos, clientes y configuraciones se almacenan en esa base de datos.
Si estás aquí, probablemente estés en uno de estos casos:
- Estás instalando PrestaShop desde cero y necesitas configurar la conexión a MySQL.
- Ya tienes PrestaShop instalado, pero al migrar de servidor te aparece un error de base de datos.
- Quieres cambiar la contraseña o el usuario de tu base de datos y necesitas actualizar la configuración.
No te preocupes, este artículo está pensado para que lo entiendas aunque no tengas experiencia técnica. Vamos paso a paso, con un lenguaje claro y ejemplos prácticos.
¿Qué es una Base de Datos MySQL y por qué PrestaShop la necesita?
Piensa en MySQL como un gran almacén donde PrestaShop guarda toda su información. Cada vez que un cliente hace un pedido, se guarda un registro. Cada vez que cambias el precio de un producto, se actualiza automáticamente. Sin esta base de datos, tu tienda sería como un escaparate vacío.
La conexión entre PrestaShop y MySQL se realiza mediante un archivo de configuración llamado parameters.php, que se encuentra en la carpeta app/config/ de tu instalación. Este archivo contiene los datos de acceso: servidor, nombre de la base de datos, usuario y contraseña.
Requisitos Previos para Conectar PrestaShop a MySQL
Antes de lanzarte a la instalación, asegúrate de tener lo siguiente:
- Un servidor con PHP (versión 7.2 o superior recomendada para PrestaShop 1.7+).
- MySQL 5.6 o superior (o MariaDB, que es compatible).
- Acceso a un panel de control de hosting (como cPanel, Plesk o Syspanel).
- Los datos de acceso a tu base de datos MySQL (usuario, contraseña, nombre de la BD y host).
[INFO] Si tu hosting usa Syspanel, el acceso al panel se realiza a través del puerto 2106. Por ejemplo:
https://tudominio.com:2106. Allí encontrarás la sección de bases de datos para crear y gestionar tu MySQL.
Paso 1: Crear una Base de Datos MySQL
Si aún no tienes una base de datos creada, este es el primer paso. El proceso varía según tu panel de control, pero la idea es la misma.
En Syspanel (puerto 2106):
- Accede a
https://tudominio.com:2106con tus credenciales. - Busca la sección Bases de Datos o MySQL.
- Haz clic en Añadir Base de Datos.
- Escribe un nombre para tu base de datos (por ejemplo,
prestashop_db). - Crea un usuario y una contraseña segura para esa base de datos.
- Asigna todos los privilegios al usuario sobre esa base de datos.
- Guarda los cambios.
[WARNING] Anota bien el nombre de la base de datos, el usuario y la contraseña. Los necesitarás en los siguientes pasos y si los pierdes tendrás que restablecerlos manualmente.
En cPanel:
- Ve a la sección MySQL Databases.
- Crea una nueva base de datos con un nombre descriptivo.
- Crea un usuario MySQL y asígnale una contraseña.
- Añade el usuario a la base de datos con TODOS LOS PRIVILEGIOS.
Paso 2: Instalar PrestaShop y Conectar a MySQL
Ahora viene la parte interesante. Si estás instalando PrestaShop desde cero, el asistente de instalación te pedirá los datos de conexión en el paso de Configuración de la base de datos.
Estos son los campos que verás y cómo rellenarlos:
| Campo | Qué poner |
|---|---|
| Dirección del servidor de base de datos | Normalmente localhost o 127.0.0.1. Si tu BD está en otro servidor, pon la IP o el dominio. |
| Nombre de la base de datos | El nombre exacto que creaste (ej: prestashop_db). |
| Usuario de la base de datos | El usuario que creaste (ej: prestashop_user). |
| Contraseña | La contraseña que asignaste. |
| Prefijo de las tablas | Déjalo como ps_ por defecto. |
[TIP] Si tu hosting usa Syspanel, en la sección de bases de datos te indicará el host exacto que debes usar. A veces no es
localhost, sino algo comolocalhost:3306o una IP específica. Revisa esa información antes de continuar.
Instalación automática vs manual
- Instalación automática: La mayoría de los paneles de control (incluido Syspanel) ofrecen un instalador de PrestaShop en 1 clic. En ese caso, solo tendrás que seleccionar la base de datos que ya creaste y el sistema completará la conexión por ti.
- Instalación manual: Descarga PrestaShop desde el sitio oficial, súbelo a tu servidor vía FTP y ejecuta el instalador desde el navegador. Ahí es donde te pedirá los datos de MySQL.
Paso 3: Configurar la Conexión Manualmente (Archivo parameters.php)
Si ya tienes PrestaShop instalado pero necesitas cambiar la conexión a la base de datos (por ejemplo, después de una migración), deberás editar el archivo parameters.php.
Localizar el archivo
La ruta habitual es:
/tu_directorio_prestashop/app/config/parameters.php
Editar el archivo
Abre el archivo con un editor de texto (como Notepad++ o el editor de archivos de tu panel). Verás algo similar a esto:
<?php
return array(
'parameters' => array(
'database_host' => 'localhost',
'database_port' => '3306',
'database_name' => 'prestashop_db',
'database_user' => 'prestashop_user',
'database_password' => 'tu_contraseña',
'database_prefix' => 'ps_',
// ... otros parámetros
),
);
Qué debes modificar
- database_host: El servidor de tu base de datos (normalmente
localhost). - database_port: El puerto de MySQL (por defecto
3306). - database_name: El nombre de tu base de datos.
- database_user: El usuario de MySQL.
- database_password: La contraseña de ese usuario.
- database_prefix: El prefijo de las tablas (
ps_normalmente).
[WARNING] Asegúrate de no dejar espacios ni comillas extra al editar el archivo. Un simple error de sintaxis puede provocar que tu tienda no cargue. Guarda siempre una copia de seguridad antes de modificar nada.
Paso 4: Errores Comunes al Conectar PrestaShop a MySQL
Es muy probable que en algún momento te aparezca un error de base de datos. Aquí tienes los más habituales y cómo solucionarlos.
Error: "Link to database cannot be established"
Este es el error más común. Significa que PrestaShop no puede conectarse a MySQL. Las causas suelen ser:
- Datos incorrectos: Revisa usuario, contraseña, nombre de BD y host.
- El servidor MySQL no está activo: Comprueba en tu panel de hosting que el servicio MySQL esté en ejecución.
- El host no es correcto: Si tu BD está en un servidor distinto, el host no será
localhost. Consulta con tu proveedor.
Error: "Access denied for user"
Esto significa que el usuario no tiene permisos o la contraseña es incorrecta.
- Verifica que el usuario existe en MySQL.
- Comprueba que tiene todos los privilegios sobre la base de datos.
- Asegúrate de que la contraseña no tenga caracteres especiales que se estén escapando mal en el archivo de configuración.
Error: "Unknown database"
El nombre de la base de datos no existe o está mal escrito.
- Revisa el nombre exacto en tu panel de control.
- Asegúrate de que la base de datos se creó en el mismo servidor al que intentas conectarte.
Error: "Too many connections"
Esto ocurre cuando el servidor MySQL tiene un límite de conexiones simultáneas y se ha alcanzado.
- Espera unos minutos y reintenta.
- Revisa si tienes demasiados procesos en segundo plano.
- Contacta con tu proveedor de hosting para aumentar el límite.
[INFO] Si usas Syspanel, dentro de la sección de bases de datos puedes ver el estado del servidor MySQL y reiniciarlo si es necesario. Recuerda que el acceso es a través del puerto 2106.
Paso 5: Verificar que la Conexión Funciona
Una vez configurada la conexión, es hora de comprobar que todo funciona correctamente.
- Accede a tu tienda desde el navegador (
https://tudominio.com). - Si la instalación es nueva, deberías ver la página de confirmación o el back-office.
- Si ya tenías PrestaShop instalado, la tienda debería cargar con normalidad.
Prueba rápida con un script
Puedes crear un archivo test_connection.php en la raíz de tu PrestaShop con este contenido:
<?php
$connection = @mysqli_connect('localhost', 'usuario', 'contraseña', 'nombre_bd');
if (!$connection) {
die('Error de conexión: ' . mysqli_connect_error());
}
echo 'Conexión exitosa a MySQL';
mysqli_close($connection);
- Sustituye los datos por los tuyos.
- Accede a
https://tudominio.com/test_connection.php. - Si ves "Conexión exitosa", todo está bien.
- Borra este archivo inmediatamente después, ya que expone tus credenciales.
[WARNING] Nunca dejes archivos de prueba con credenciales en tu servidor. Es un riesgo de seguridad grave.
Paso 6: Migrar PrestaShop a Otro Servidor (Conexión a Nueva BD)
Si estás migrando tu tienda a un nuevo hosting, el proceso de conexión es similar:
- Exporta tu base de datos antigua desde el panel anterior (formato
.sql). - Crea una nueva base de datos en el nuevo hosting.
- Importa el archivo
.sqlen la nueva base de datos. - Sube los archivos de PrestaShop al nuevo servidor.
- Edita el archivo
parameters.phpcon los nuevos datos de conexión. - Limpia la caché de PrestaShop. Puedes hacerlo borrando el contenido de las carpetas
var/cache/(en PrestaShop 1.7) ocache/(en versiones anteriores).
[TIP] Si al migrar te aparece un error de base de datos, revisa siempre el archivo
parameters.phpantes de tocar nada más. Es la causa del 90% de los problemas de conexión.
Preguntas Frecuentes (FAQ)
¿Qué hago si no recuerdo la contraseña de MySQL?
Puedes restablecerla desde tu panel de control. En Syspanel (puerto 2106), ve a la sección de bases de datos, selecciona el usuario y elige la opción de cambiar contraseña.
¿Puedo usar una base de datos MySQL remota?
Sí, siempre que tu hosting lo permita. Deberás indicar la IP del servidor remoto como database_host y asegurarte de que el servidor MySQL acepte conexiones externas.
¿Cuál es el prefijo correcto para las tablas?
El prefijo por defecto es ps_. Si ya tienes una base de datos con otro prefijo, deberás mantener ese mismo para que PrestaShop funcione correctamente.
¿Qué versión de MySQL necesito para PrestaShop 1.7?
PrestaShop 1.7 requiere MySQL 5.6 o superior. Si tienes una versión anterior, te recomiendo actualizar el servidor o instalar una versión de PrestaShop compatible.
¿Es seguro guardar la contraseña en el archivo parameters.php?
No es ideal, pero es la forma en que funciona PrestaShop. Asegúrate de que el archivo tenga permisos restringidos (normalmente 644 o 600) y de que tu servidor esté protegido.
Consejos Finales para una Conexión Estable
- Usa contraseñas seguras: Combina letras, números y símbolos.
- Haz copias de seguridad periódicas: Tanto de la base de datos como de los archivos de configuración.
- Mantén PrestaShop actualizado: Las versiones nuevas corrigen errores de conexión y seguridad.
- Revisa los logs: Si algo falla, los registros de error de MySQL te darán pistas. En Syspanel puedes acceder a ellos desde la sección de logs.
Resumen Final
Conectar PrestaShop a una base de datos MySQL no tiene por qué ser un dolor de cabeza. Siguiendo estos pasos, podrás:
- Crear una base de datos correctamente.
- Configurar la conexión durante la instalación.
- Editar manualmente el archivo
parameters.phpsi es necesario. - Solucionar los errores más comunes.
- Migrar tu tienda sin perder la conexión.
Recuerda que la paciencia es clave. Si algo falla, revisa los datos una y otra vez, y consulta la documentación de tu hosting. Y si usas Syspanel, no olvides que el acceso es a través del puerto 2106.
Si aun así sigues teniendo problemas, contacta con el soporte técnico de tu hosting. Estarán encantados de ayudarte a verificar que todos los datos de conexión son correctos y que el servidor MySQL está funcionando bien.
¡Ahora ya sabes cómo conectar PrestaShop a MySQL! Con estos conocimientos, podrás instalar, configurar y migrar tu tienda sin depender de nadie.
