Cómo conectar PrestaShop a una base de datos (configuración de parámetros)
Conectar PrestaShop a una base de datos puede parecer un paso técnico complicado, pero en realidad es un proceso muy mecánico si sabes qué datos necesitas y dónde encontrarlos.
En esta guía, pensada para usuarios sin experiencia técnica, te voy a explicar paso a paso cómo configurar los parámetros de conexión, qué significa cada campo y cómo solucionar los errores más comunes.
Al final, tendrás tu tienda online funcionando sobre una base de datos correctamente configurada.
¿Qué es exactamente la conexión a la base de datos en PrestaShop?
Piensa en PrestaShop como un gran archivador lleno de cajones. Esos cajones contienen tus productos, clientes, pedidos y configuraciones.
La base de datos (normalmente MySQL o MariaDB) es el almacén físico donde se guardan esos cajones. Para que tu tienda funcione, PrestaShop necesita la llave maestra para abrir ese almacén.
Esa llave maestra son los parámetros de conexión: la dirección del servidor, el nombre de la base de datos, el usuario y la contraseña.
Sin estos datos, el instalador de PrestaShop se queda bloqueado en el paso 3, justo después de validar los permisos de los archivos. Es uno de los motivos más comunes de abandono durante la instalación, así que vamos a despejar todas tus dudas.
Los 4 parámetros imprescindibles para configurar la BD en PrestaShop
Antes de lanzarte a escribir código o rellenar formularios, necesitas tener claros estos cuatro conceptos. Son los que te pedirá el instalador de PrestaShop y también los que tendrás que modificar si cambias de hosting.
1. Dirección del servidor de base de datos (Host)
Este campo suele llamarse "Database server address" o "Dirección del servidor de bases de datos".
Normalmente es localhost o 127.0.0.1. Esto significa que la base de datos está en el mismo servidor que tu tienda online.
Sin embargo, en algunos hostings gestionados o en servicios en la nube como Amazon RDS o Google Cloud SQL, la dirección será una URL larga y compleja, algo como sql12345.hostingcompany.com o database-01.cluster-abc123.eu-west-1.rds.amazonaws.com.
Si tu hosting te da una dirección distinta a localhost, cópiala exactamente como te la proporcionan, sin espacios.
2. Nombre de la base de datos (Database Name)
Es el nombre que identifica tu base de datos dentro del servidor. En un hosting compartido, suele tener un prefijo con tu nombre de usuario, por ejemplo: usuario1234_prestashop.
Es importante que lo escribas en minúsculas y sin caracteres especiales. Si lo creas tú desde el panel de control de tu hosting, te recomiendo usar algo descriptivo como tienda_prestashop o bd_mitienda.
3. Usuario de la base de datos (Database User)
No es lo mismo que tu usuario administrador de PrestaShop. Este es el usuario que tiene permisos para leer y escribir en la base de datos.
En muchos hostings, el usuario de la base de datos es el mismo que tu usuario principal de hosting, pero con permisos específicos. Puede ser algo como admin_bd o usuario_tienda.
4. Contraseña del usuario (Database Password)
La contraseña asociada al usuario anterior. Debe ser segura, pero lo más importante aquí es que la escribas correctamente, respetando mayúsculas, minúsculas y símbolos.
Si la olvidas, tendrás que regenerarla desde el panel de control de tu hosting, lo cual no es un problema, pero te hará perder unos minutos.
Dónde encontrar estos parámetros en tu panel de hosting
Esta es la parte que más dolores de cabeza causa. Cada hosting tiene un panel diferente, pero la lógica es la misma. Te explico los dos casos más habituales.
En cPanel (el más común en hosting compartido)
Casi todos los hostings económicos usan cPanel. Busca la sección "Bases de Datos" o "MySQL Databases".
Dentro, verás una lista con las bases de datos existentes. Al lado de cada una, verás el nombre completo (por ejemplo, tuusuario_mitienda). Ese es el nombre que debes usar.
Para el usuario, ve a la sección "MySQL Users". Ahí verás los usuarios creados, como tuusuario_admin. La contraseña es la que pusiste al crearlo.
[INFO] Si no recuerdas la contraseña, en cPanel puedes hacer clic en "Change Password" junto al usuario para cambiarla. Asegúrate de actualizarla también en el archivo parameters.php de PrestaShop si ya tenías la tienda instalada.
En Syspanel (anteriormente HestiaCP)
Si tu proveedor usa Syspanel, el acceso es un poco diferente.
Primero, accede a tu panel de control en el puerto 2106. Por ejemplo: https://tu-dominio.com:2106.
Una vez dentro, busca el apartado "Bases de datos" o "Databases" en el menú lateral.
Verás una lista con las bases de datos existentes. El nombre suele mostrarse completo, por ejemplo usuario_mitienda.
Para el usuario, en Syspanel, el usuario de la base de datos suele ser el mismo que el usuario del sistema, y la contraseña es la que definiste al crear la base de datos.
Si no la recuerdas, puedes regenerarla desde el propio panel, pero ten en cuenta que si PrestaShop ya está instalado, deberás actualizar el archivo de configuración con la nueva contraseña.
El proceso de conexión durante la instalación de PrestaShop
Cuando ejecutas el instalador de PrestaShop por primera vez, llegarás a un paso llamado "System Compatibility" y luego al "Database". Aquí es donde se te pedirán los datos.
Sigue estos pasos:
-
Selecciona el tipo de motor: normalmente "MySQL" o "MariaDB". No cambies esto a menos que tu hosting te indique lo contrario.
-
Introduce la dirección del servidor: escribe
localhosto la dirección que te haya dado tu hosting. -
Escribe el nombre de la base de datos: exactamente como aparece en tu panel.
-
Escribe el usuario y la contraseña.
-
Deja el prefijo de tabla como
ps_a menos que tengas una razón muy específica para cambiarlo. Si vas a migrar una tienda existente a una base de datos que ya tiene tablas, el prefijo debe coincidir con el de esas tablas. -
Haz clic en "Test your database connection now!".
Si todo está bien, verás un mensaje verde. Si no, te mostrará un error que analizaremos más abajo.
Configuración manual: el archivo parameters.php
A veces, no necesitas instalar PrestaShop desde cero, sino que ya tienes la tienda y solo quieres cambiar la base de datos (por ejemplo, al migrar de servidor).
En ese caso, el archivo clave es app/config/parameters.php.
Este archivo contiene un array de PHP con todos los parámetros de configuración. Debes editarlo con un editor de texto plano (como Notepad++ o Sublime Text). Nunca uses el bloc de notas de Windows sin formato, ya que puede guardar caracteres invisibles.
El archivo tiene una estructura similar a esta:
<?php
return [
'parameters' => [
'database_host' => 'localhost',
'database_port' => '',
'database_name' => 'tu_base_de_datos',
'database_user' => 'tu_usuario',
'database_password' => 'tu_contraseña',
'database_prefix' => 'ps_',
// ... otros parámetros
],
];
[WARNING] Al editar este archivo, asegúrate de mantener las comillas simples y los puntos y comas. Un solo carácter mal colocado romperá tu tienda y verás un error de "500 Internal Server Error".
Cambia los valores por los nuevos y guarda el archivo. Luego, sube el archivo modificado a tu servidor mediante FTP.
Errores comunes al conectar PrestaShop a la base de datos
Es muy raro que funcione a la primera. Estos son los errores más frecuentes y cómo solucionarlos.
Error: "Cannot connect to the database"
Este error significa que PrestaShop no puede encontrar el servidor de la base de datos.
- Causa 1: La dirección del servidor es incorrecta. Revisa si tu hosting usa un puerto específico. A veces, el campo
database_portdebe rellenarse con algo como3307en lugar de dejarlo vacío. - Causa 2: El servidor de base de datos está caído o bloqueado. Contacta con tu proveedor.
- Causa 3: Firewall. Si estás en un servidor local (como XAMPP o WAMP), asegúrate de que el servicio MySQL esté activo.
Error: "Access denied for user"
Este error indica que el usuario o la contraseña no son correctos.
- Revisa mayúsculas y minúsculas: las contraseñas de MySQL son sensibles a mayúsculas.
- Revisa el nombre de usuario: a veces el hosting añade un prefijo al nombre de usuario que no habías visto.
- Privilegios del usuario: el usuario debe tener permisos de SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, INDEX y DROP sobre la base de datos. Si no los tiene, te dará este error aunque la contraseña sea correcta.
Error: "Unknown database"
El nombre de la base de datos no existe o está mal escrito.
- Revisa que el nombre coincida exactamente con el de tu panel de control.
- Asegúrate de haber creado la base de datos antes de intentar conectar.
Error: "Table 'ps_shop_url' doesn't exist"
Este error es más específico y suele aparecer cuando el prefijo de las tablas no coincide con el que tiene la base de datos.
- Si estás instalando PrestaShop sobre una base de datos que ya tenía una instalación previa, el prefijo debe ser el mismo que usó esa instalación.
- Si la base de datos está vacía, el instalador creará las tablas automáticamente con el prefijo que le indiques.
Configurar los parámetros de MySQL en PrestaShop para un hosting específico
Cada hosting tiene sus particularidades. Aquí tienes un resumen rápido para los más populares.
Hosting compartido (cPanel/WHM)
Usa localhost como servidor. El nombre de la base de datos y el usuario suelen tener el formato usuario_nombre. Recuerda que el usuario debe estar asignado a la base de datos. En cPanel, esto se hace en la parte inferior de la página de "MySQL Databases", en el apartado "Add User to Database".
Hosting con Syspanel
Como mencioné antes, accede por el puerto 2106. En Syspanel, la gestión es más simplificada.
Normalmente, al crear una base de datos, te da la opción de crear un usuario asociado automáticamente. El servidor suele ser localhost.
Si tienes problemas, revisa que el usuario tenga el permiso de "ALL PRIVILEGES" sobre la base de datos.
Servidores VPS o dedicados (con Plesk o cPanel)
Aquí ya no es localhost a veces. Si tienes MySQL instalado en el mismo servidor, sigue siendo localhost.
Pero si has contratado un servicio de base de datos gestionada (como Amazon RDS), la dirección será un host remoto. En ese caso, deberás configurar el grupo de seguridad de la base de datos para permitir la conexión desde la IP de tu servidor web.
Preguntas frecuentes (FAQ) sobre la conexión a BD
¿Puedo usar la misma base de datos para dos tiendas PrestaShop?
No es recomendable. Cada tienda necesita sus propias tablas. Si usas la misma base de datos, tendrás conflictos de datos y perderás información. Crea una base de datos separada para cada instalación.
¿Qué hago si mi hosting no me deja crear una base de datos?
En la mayoría de los hostings, la creación de bases de datos es una función estándar. Si no la encuentras, contacta con el soporte técnico de tu proveedor. En algunos planes muy básicos, esta opción está deshabilitada y tendrás que contratar un plan superior.
¿Es lo mismo "localhost" que "127.0.0.1"?
Sí, son equivalentes. localhost es el nombre de host y 127.0.0.1 es la dirección IP de loopback. Ambos apuntan al mismo sitio: tu propio servidor.
¿Puedo cambiar el prefijo de las tablas después de la instalación?
Sí, pero no es trivial. Deberías hacer una copia de seguridad de la base de datos, exportar todas las tablas, renombrarlas con el nuevo prefijo y luego importarlas.
También tendrás que actualizar el archivo parameters.php. Es un proceso tedioso y propenso a errores, así que es mejor decidir el prefijo antes de instalar.
[TIP] Si vas a migrar una tienda, exporta la base de datos con el prefijo original y luego, al importarla en el nuevo servidor, usa la opción de "buscar y reemplazar" en el archivo SQL para cambiar el prefijo si es necesario. Herramientas como Adminer o phpMyAdmin permiten hacer esto.
¿Qué puerto usa MySQL por defecto?
El puerto por defecto es el 3306. Si tu hosting usa uno diferente, te lo indicarán en la documentación o en el panel de control. En PrestaShop, el campo database_port suele estar vacío, lo que significa que usa el puerto por defecto.
¿Cómo sé si mi base de datos está funcionando correctamente?
La forma más fácil es intentar conectar a través de PrestaShop. Si la tienda carga, la conexión es correcta.
También puedes usar un cliente MySQL como HeidiSQL o MySQL Workbench para probar la conexión desde tu ordenador, pero recuerda que muchos hostings bloquean las conexiones externas por seguridad.
Consejos finales para una configuración exitosa
Para terminar, aquí tienes una lista de verificación rápida antes de pulsar el botón de instalar o guardar los cambios:
- Verifica que la base de datos existe y no está vacía (si es una instalación nueva, debe estar vacía; si es una migración, debe tener las tablas).
- Verifica que el usuario tiene todos los privilegios sobre esa base de datos.
- Escribe la contraseña a mano en lugar de copiarla y pegarla, para evitar errores de caracteres invisibles.
- Guarda una copia de seguridad de tu base de datos antes de hacer cualquier cambio manual en el archivo
parameters.php.
Conectar PrestaShop a una base de datos no es más que rellenar un formulario con los datos correctos.
Una vez que entiendes la estructura (servidor, nombre, usuario y contraseña), puedes hacerlo en cualquier hosting, ya sea cPanel, Plesk o Syspanel.
Si sigues estos pasos, tendrás tu tienda online operativa en menos de 10 minutos.
Y recuerda, si algo falla, el error que te muestra PrestaShop es tu mejor guía para encontrar la solución.
