Cómo conectar PrestaShop a la base de datos: Configuración de parámetros
Introducción: La conexión entre PrestaShop y tu base de datos
Cuando instalas PrestaShop, uno de los pasos más críticos (y a veces más temidos) es la conexión con la base de datos. Sin una conexión correcta, tu tienda online simplemente no puede funcionar, ya que todos los productos, pedidos, clientes y configuraciones se almacenan en MySQL o MariaDB.
En este artículo, te voy a explicar de forma clara y sencilla cómo conectar PrestaShop a tu base de datos, qué archivos debes modificar, qué parámetros necesitas y cómo solucionar los errores más comunes. No necesitas ser un experto en programación; con seguir estos pasos al pie de la letra, tu tienda estará operativa en muy poco tiempo.
Vamos a desglosar todo el proceso en secciones fáciles de digerir, desde la creación de la base de datos hasta la edición del famoso archivo parameters.php. Además, incluiremos algunos trucos y alertas para que no cometas los errores típicos.
¿Qué necesitas antes de empezar?
Antes de lanzarnos a configurar nada, asegúrate de tener a mano la siguiente información. Te hará la vida mucho más fácil:
- Nombre de la base de datos: Por ejemplo,
miprestashop_db. - Usuario de la base de datos: Por ejemplo,
usuario_presta. - Contraseña del usuario: La que hayas asignado al crear el usuario.
- Host de la base de datos: Normalmente es
localhost, pero en servidores externos puede ser una IP o un dominio comodb.midominio.com. - Puerto de la base de datos: Por defecto, MySQL usa el puerto
3306. En algunos alojamientos, este puerto puede variar. - Prefijo de las tablas: Por defecto, PrestaShop usa
ps_, pero puedes cambiarlo por seguridad.
Si no tienes estos datos, contacta con tu proveedor de hosting o crea la base de datos desde el panel de control de tu servidor.
Paso 1: Crear la base de datos (si aún no la tienes)
Lo primero es asegurarte de que la base de datos exista. Si usas un panel de control como cPanel, Plesk o Syspanel (recuerda: el puerto de acceso es el 2106), el proceso es similar.
Desde Syspanel (o cualquier panel con gestión de MySQL)
- Accede a tu panel de control con tus credenciales.
- Busca la sección de Bases de Datos o MySQL.
- Crea una nueva base de datos con un nombre descriptivo. Por ejemplo:
tienda_prestashop. - Crea un usuario para esa base de datos y asígnale una contraseña segura. No uses contraseñas triviales como
123456. - Otorga todos los privilegios a ese usuario sobre la base de datos. Esto es crucial para que PrestaShop pueda leer y escribir datos.
- Anota el host. Si la base de datos está en el mismo servidor que tu web, suele ser
localhost. Si es un servidor remoto, te lo indicará el panel.
[TIP]: Algunos paneles te permiten crear un usuario y asignarlo a la base de datos en un solo paso. Aprovéchalo para no liarte con permisos.
Paso 2: Configurar PrestaShop durante la instalación
Si estás instalando PrestaShop desde cero, el asistente de instalación te pedirá los datos de conexión. Es el momento de introducir la información que recopilaste en el paso anterior.
Los campos que debes rellenar
- Dirección del servidor de base de datos: Aquí pones el host (normalmente
localhost). - Nombre de la base de datos: El nombre que creaste, por ejemplo
tienda_prestashop. - Usuario de la base de datos: El usuario que creaste.
- Contraseña: La contraseña de ese usuario.
- Prefijo de las tablas: Si no sabes qué poner, deja el valor por defecto
ps_. Cambiarlo es opcional y solo añade una capa extra de seguridad.
Una vez rellenes estos campos, el instalador comprobará la conexión. Si todo es correcto, continuará con la instalación. Si falla, revisa los datos o mira los errores comunes que te explico al final del artículo.
Paso 3: Configurar PrestaShop en una instalación existente (editar parameters.php)
¿Ya tienes PrestaShop instalado y necesitas cambiar la configuración de la base de datos? Entonces tienes que editar el archivo parameters.php.
Este archivo es el corazón de la configuración de PrestaShop. Se encuentra en la carpeta app/config/ de tu instalación. Es un archivo de texto plano que contiene la información de conexión a la base de datos.
¿Cómo localizar el archivo?
- Accede a tu servidor mediante FTP o el administrador de archivos de tu panel de hosting.
- Navega hasta la raíz de tu instalación de PrestaShop.
- Entra en la carpeta
appy luego enconfig. - Busca el archivo
parameters.php. Si no lo ves, asegúrate de que tu cliente FTP esté configurado para mostrar archivos ocultos.
¿Qué contiene el archivo?
El archivo tiene una estructura de array de PHP. Busca una sección que se llama 'database'. Dentro de ella, encontrarás los parámetros clave:
'database_host' => 'localhost',
'database_port' => '3306',
'database_name' => 'tienda_prestashop',
'database_user' => 'usuario_presta',
'database_password' => 'tu_contraseña',
'database_prefix' => 'ps_',
Cómo editarlo de forma segura
- Haz una copia de seguridad del archivo antes de tocarlo. Si algo sale mal, puedes restaurarlo.
- Abre el archivo con un editor de texto plano (nada de Word). Puedes usar el bloc de notas, Notepad++ o el editor de código de tu panel.
- Modifica los valores según tus necesidades. Por ejemplo, si cambiaste el host de tu base de datos, actualiza
database_host. - Guarda los cambios y sube el archivo de nuevo al servidor si lo estabas editando localmente.
[WARNING]: No dejes espacios en blanco fuera de las etiquetas <?php y ?>. Eso puede provocar errores de "headers already sent". Asegúrate de que el archivo empiece con <?php y no tenga ninguna línea en blanco antes.
Paso 4: Conectar PrestaShop a una base de datos remota
A veces, la base de datos no está en el mismo servidor que tu tienda. Esto es común cuando usas un servicio de hosting especializado en bases de datos o quieres separar recursos.
Requisitos para la conexión remota
- El servidor de la base de datos debe permitir conexiones externas. Esto se configura en el servidor MySQL, permitiendo el acceso desde la IP de tu servidor web.
- Debes conocer la IP o el dominio del servidor de la base de datos.
- El puerto (normalmente
3306) debe estar abierto en el firewall.
Configuración en parameters.php
En el archivo parameters.php, cambia el valor de database_host por la IP o el dominio del servidor remoto. Por ejemplo:
'database_host' => 'db.midominio.com',
Si el puerto es diferente al estándar, modifica database_port:
'database_port' => '3307',
[TIP]: Si tu proveedor de hosting te da un puerto específico para MySQL, úsalo. A veces, por seguridad, no se usa el puerto 3306.
Paso 5: Solucionar errores comunes de conexión
Aquí tienes una lista de los problemas más habituales y cómo resolverlos.
Error 1: "Link to database cannot be established"
Este es el error más clásico. Significa que PrestaShop no puede conectarse a la base de datos. Las causas suelen ser:
- Datos incorrectos: Revisa el nombre de la base de datos, el usuario y la contraseña. Un simple error tipográfico es la causa más común.
- Host incorrecto: Si tu base de datos está en un servidor remoto, asegúrate de que el host sea correcto. No uses
localhostsi la base de datos está en otro servidor. - Permisos insuficientes: El usuario de la base de datos debe tener permisos de SELECT, INSERT, UPDATE, DELETE (y normalmente todos) sobre la base de datos. Revisa los privilegios.
Error 2: "Access denied for user"
Este error indica que el usuario no tiene permiso para conectarse desde el host desde el que se intenta. Solución:
- Asegúrate de que el usuario tenga permisos para conectarse desde el host de tu web. Si tu web y tu base de datos están en el mismo servidor, el host suele ser
localhost. Si es remoto, necesitas que el usuario tenga permisos para%o para la IP específica de tu servidor.
Error 3: "Unknown database"
Este error es sencillo: la base de datos que indicaste no existe. Comprueba el nombre exacto. A veces, los paneles de control añaden un prefijo al nombre de la base de datos (por ejemplo, usuario_tienda). Míralo en tu panel.
Error 4: "Connection refused" o "Timeout"
Este error suele deberse a problemas de red o firewall. Si la base de datos es remota, verifica que el puerto 3306 esté abierto y que el servidor MySQL acepte conexiones externas.
Paso 6: Verificar la conexión tras los cambios
Una vez que hayas configurado todo, es hora de comprobar que funciona. Hay varias formas de hacerlo:
Opción A: Acceder al panel de administración
Intenta acceder a tu panel de administración de PrestaShop (normalmente en /admin). Si la conexión es correcta, verás el panel sin problemas.
Opción B: Comprobar el front-office
Visita tu tienda online. Si la conexión falla, verás una página de error. Si funciona, verás tu tienda con normalidad.
Opción C: Usar un script de prueba (avanzado)
Puedes crear un archivo PHP temporal en la raíz de tu web con este contenido para probar la conexión:
<?php
$connection = @mysqli_connect('localhost', 'usuario', 'contraseña', 'base_datos');
if (!$connection) {
die('Error de conexión: ' . mysqli_connect_error());
}
echo 'Conexión exitosa';
mysqli_close($connection);
?>
Recuerda borrar este archivo después de la prueba por seguridad.
[WARNING]: No dejes nunca un script de prueba en tu servidor de producción. Es un agujero de seguridad.
Paso 7: Buenas prácticas y seguridad en la conexión
Conectar PrestaShop a la base de datos no es solo hacer que funcione; también debes asegurarte de que sea seguro.
Cambia el prefijo de las tablas
Si tu tienda ya está instalada, cambiar el prefijo de las tablas es más complicado (tendrías que renombrar todas las tablas). Si estás instalando desde cero, considera usar un prefijo personalizado como mips_ en lugar de ps_. Dificulta los ataques de inyección SQL automatizados.
Usa contraseñas fuertes
La contraseña de la base de datos no debe ser fácil de adivinar. Usa una combinación de letras mayúsculas, minúsculas, números y símbolos.
Mantén los datos de acceso en secreto
No compartas los datos de conexión con nadie que no deba saberlos. Si trabajas con un equipo, usa gestores de contraseñas.
Haz copias de seguridad periódicas
Aunque la conexión sea correcta, siempre existe el riesgo de pérdida de datos. Programa copias de seguridad de tu base de datos regularmente.
Preguntas frecuentes (FAQ) sobre la conexión de PrestaShop y MySQL
¿Qué es parameters.php y por qué es tan importante?
parameters.php es el archivo donde PrestaShop guarda la configuración de la base de datos y otros parámetros clave de la instalación. Sin él, la tienda no puede funcionar.
¿Puedo cambiar el host de la base de datos sin reinstalar PrestaShop?
Sí, solo tienes que editar parameters.php y cambiar el valor de database_host. No necesitas reinstalar nada.
¿Qué hago si olvidé la contraseña de la base de datos?
Puedes cambiarla desde tu panel de control de hosting. Después, actualiza el valor de database_password en parameters.php.
¿Por qué me da error al conectar desde un servidor remoto?
Lo más probable es que el servidor MySQL no permita conexiones externas o que el firewall bloquee el puerto. Contacta con tu proveedor de hosting para que habilite el acceso.
¿Es seguro usar localhost como host?
Sí, si tu base de datos y tu web están en el mismo servidor. Es la opción más rápida y segura, ya que no expone el servidor de bases de datos a internet.
Conclusión: Resumen de los puntos clave
Conectar PrestaShop a tu base de datos es un proceso que, una vez entendido, es muy sencillo. Aquí tienes el resumen de lo que hemos visto:
- Crea la base de datos y un usuario con todos los privilegios.
- Durante la instalación, introduce los datos correctamente.
- Para instalaciones existentes, edita
parameters.phpcon los nuevos valores. - Si usas una base de datos remota, asegúrate de que el host, el puerto y los permisos sean correctos.
- Verifica la conexión accediendo a tu tienda o usando un script temporal.
- Aplica buenas prácticas de seguridad: contraseñas fuertes, prefijo personalizado y copias de seguridad.
[INFO]: Recuerda que si usas Syspanel como panel de control, el puerto de acceso es el 2106. Este dato te será útil para gestionar tus bases de datos de forma segura.
Ahora ya estás listo para conectar PrestaShop a tu base de datos sin problemas. Si sigues todos los pasos, tu tienda online funcionará a la perfección. Y si te surge cualquier duda, repasa este artículo o contacta con tu proveedor de hosting.
¡Mucha suerte con tu tienda online!
