Cómo conectar PrestaShop a una base de datos (DirectAdmin)
Antes de empezar: ¿Qué necesitas para conectar PrestaShop a tu base de datos?
Conectar PrestaShop a una base de datos es uno de los pasos más importantes durante la instalación o migración de tu tienda online. Si tienes un panel de control como DirectAdmin, este proceso es bastante sencillo, pero requiere que tengas a mano algunos datos clave.
Para que todo funcione a la primera, necesitarás:
- El nombre de tu base de datos (suele tener un prefijo con tu usuario, por ejemplo:
usuario_prestashop). - El usuario de la base de datos (puede ser el mismo que el nombre o uno distinto).
- La contraseña de ese usuario.
- El host de la base de datos (normalmente
localhost, aunque a veces puede ser127.0.0.1o un servidor remoto). - El puerto (por defecto suele ser el
3306, pero en algunos servidores cambia).
[WARNING] Si no tienes estos datos, contacta con tu proveedor de hosting antes de continuar. Intentar adivinar la contraseña o el host puede generar errores difíciles de diagnosticar.
Paso 1: Crear la base de datos en DirectAdmin
Antes de conectar PrestaShop, necesitas que la base de datos exista. Si ya la tienes creada, puedes saltar este paso. Si no, aquí te explico cómo hacerlo en DirectAdmin:
- Accede a tu panel de DirectAdmin con tu usuario y contraseña.
- Busca la sección "MySQL Management" o "Base de Datos MySQL" (el nombre puede variar según la versión).
- Haz clic en "Create new database" o "Crear nueva base de datos".
- Te pedirá un nombre. Escríbelo y recuerda que DirectAdmin añadirá tu nombre de usuario como prefijo (por ejemplo,
tuusuario_mitienda). - A continuación, crea un usuario para la base de datos y asigna una contraseña segura. Te recomiendo usar el generador de contraseñas que incluye el propio panel.
- Asigna todos los privilegios a este usuario sobre la base de datos que acabas de crear. Normalmente hay una casilla para marcar "ALL PRIVILEGES".
- Guarda los cambios.
[INFO] Anota en un lugar seguro el nombre exacto de la base de datos y el usuario, porque los necesitarás en el siguiente paso. Es muy fácil equivocarse con los prefijos.
Paso 2: Localizar el archivo parámetros.php
PrestaShop guarda la configuración de conexión a la base de datos en un archivo llamado parameters.php. Este archivo se encuentra en la carpeta app/config/ de tu instalación de PrestaShop.
Dependiendo de cómo vayas a conectar PrestaShop a la base de datos, este archivo puede ser:
- Generado automáticamente durante la instalación (si usas el instalador web).
- Editado manualmente si estás migrando una tienda desde otro servidor.
Para localizarlo, accede a tu panel de DirectAdmin y sigue estos pasos:
- Entra en "File Manager" o "Administrador de archivos".
- Navega hasta la carpeta donde tienes instalado PrestaShop. Normalmente es
public_htmlo una subcarpeta comopublic_html/tienda. - Entra en la carpeta
appy después enconfig. - Busca el archivo
parameters.php. Si no lo ves, activa la opción de "Mostrar archivos ocultos" en el administrador de archivos.
[WARNING] Haz una copia de seguridad de este archivo antes de modificarlo. Si algo falla, podrás restaurar la configuración original fácilmente.
Paso 3: Editar parámetros.php para conectar PrestaShop a la base de datos
Una vez que tengas localizado el archivo parameters.php, necesitas editarlo. Desde DirectAdmin, puedes hacer clic derecho sobre el archivo y seleccionar "Edit" o usar el editor que viene integrado en el File Manager.
El archivo contiene un array con las claves de conexión. Lo que buscas son las líneas que empiezan por 'database_host', 'database_name', 'database_user' y 'database_password'. Asegúrate de que tengan este formato:
'database_host' => 'localhost',
'database_name' => 'tuusuario_mitienda',
'database_user' => 'tuusuario_miusuario',
'database_password' => 'tucontraseña',
Qué debes cambiar:
database_host: Normalmente eslocalhost. Si tu base de datos está en otro servidor, pon la IP o el dominio del servidor de bases de datos.database_name: El nombre exacto que creaste en DirectAdmin, incluyendo el prefijo.database_user: El usuario que creaste para esa base de datos.database_password: La contraseña que asignaste a ese usuario.
[TIP] Si no estás seguro de si el host es
localhost, prueba primero conlocalhost. Es lo más común en hosting compartido con DirectAdmin.
Guarda el archivo y cierra el editor.
Paso 4: Probar la conexión a la base de datos
Después de guardar los cambios, es hora de comprobar si la conexión funciona. La forma más rápida es intentar acceder a tu tienda PrestaShop desde el navegador.
- Si la conexión es correcta, verás la página de inicio de tu tienda o el instalador de PrestaShop (si es una instalación nueva).
- Si hay algún error, verás un mensaje como "Error de conexión a la base de datos" o "No se puede conectar a la base de datos".
[WARNING] Si ves un error de conexión, no entres en pánico. Es muy común y suele deberse a un error tipográfico en el nombre de la base de datos o en la contraseña. Revisa el archivo
parameters.phpde nuevo.
Errores comunes al conectar PrestaShop a una base de datos
Aquí te dejo una lista de los errores más frecuentes que nos encontramos cuando intentamos conectar PrestaShop a una base de datos en DirectAdmin, y cómo solucionarlos:
1. Error de acceso denegado
Mensaje típico: SQLSTATE[HY000] [1045] Access denied for user 'usuario'@'localhost'
Causa: La contraseña o el usuario son incorrectos.
Solución: Revisa que el usuario y la contraseña en parameters.php coincidan exactamente con los que creaste en DirectAdmin. Recuerda que las contraseñas distinguen entre mayúsculas y minúsculas.
2. Base de datos no encontrada
Mensaje típico: SQLSTATE[HY000] [1049] Unknown database 'nombre_base'
Causa: El nombre de la base de datos es incorrecto o no existe.
Solución: Verifica en DirectAdmin que la base de datos existe y que el nombre está escrito correctamente, incluyendo el prefijo de tu usuario.
3. Host no encontrado
Mensaje típico: SQLSTATE[HY000] [2002] Connection refused o php_network_getaddresses: getaddrinfo failed
Causa: El host de la base de datos es incorrecto.
Solución: Cambia database_host a localhost o 127.0.0.1. Si tu servidor usa un puerto distinto, añádelo al final, por ejemplo: localhost:3307.
4. Error de conexión con prefijo de tabla
Mensaje típico: Table 'database.ps_shop_url' doesn't exist
Causa: El prefijo de las tablas no coincide con el de la base de datos que estás utilizando.
Solución: Revisa en parameters.php la clave 'database_prefix'. Debe coincidir con el prefijo que usaste al instalar PrestaShop (normalmente ps_). Si no estás seguro, mira el nombre de una tabla en tu base de datos desde DirectAdmin.
Paso 5: Instalar PrestaShop por primera vez (si es una instalación nueva)
Si estás instalando PrestaShop desde cero y ya has creado la base de datos en DirectAdmin, el instalador web te pedirá los datos de conexión. Este proceso es muy visual y guiado, pero te dejo los puntos clave:
- Elige el idioma y acepta los términos de la licencia.
- Introduce los datos de la tienda (nombre, actividad, etc.).
- En el paso de "Configuración de la base de datos", elige "MySQL" como motor.
- Introduce los mismos datos que pusiste en
parameters.php: host, nombre de la base de datos, usuario y contraseña. - Deja el puerto en blanco o pon
3306si te lo pide. - El prefijo de las tablas déjalo como
ps_(o cámbialo si sabes lo que haces). - Haz clic en "Comprobar conexión" y, si todo es correcto, continúa con la instalación.
[TIP] Si el instalador te da un error de conexión, revisa que no haya espacios en blanco en los campos y que la base de datos esté vacía. PrestaShop no se puede instalar sobre una base de datos que ya tenga tablas.
Cómo comprobar manualmente la conexión desde DirectAdmin
Si quieres asegurarte de que los datos de acceso son correctos antes de tocar parameters.php, puedes usar la herramienta "phpMyAdmin" que incluye DirectAdmin:
- En DirectAdmin, busca la sección "phpMyAdmin".
- Inicia sesión con el usuario y contraseña de la base de datos que creaste.
- Si puedes ver las tablas o la base de datos vacía, significa que los datos de acceso son correctos.
- Si no puedes entrar, revisa los privilegios del usuario en la sección de MySQL Management.
[WARNING] No confundas el usuario de DirectAdmin con el usuario de la base de datos. Aunque a veces coinciden, son cuentas distintas y cada una tiene su propia contraseña.
Preguntas frecuentes sobre conectar PrestaShop a una base de datos
¿Puedo usar la misma base de datos para dos instalaciones de PrestaShop?
No es recomendable. Cada instalación de PrestaShop necesita sus propias tablas y usar la misma base de datos puede provocar conflictos si los prefijos son iguales. Si quieres dos tiendas, crea dos bases de datos separadas.
¿Qué hago si cambio de hosting y tengo que migrar la base de datos?
Deberás exportar la base de datos desde el panel antiguo (normalmente con phpMyAdmin) e importarla en DirectAdmin. Después, actualiza los datos de conexión en parameters.php con los nuevos valores.
¿Por qué me pide el puerto de la base de datos?
En la mayoría de los casos no necesitas especificar el puerto porque se usa el estándar 3306. Pero si tu servidor usa otro puerto, lo verás en la información de tu hosting o en DirectAdmin.
¿Qué pasa si cambio la contraseña de la base de datos después de instalar PrestaShop?
Tendrás que actualizar el campo database_password en parameters.php. Si no lo haces, tu tienda dejará de funcionar y mostrará un error de conexión.
¿Puedo editar parameters.php desde el FTP?
Sí, puedes usar cualquier cliente FTP (como FileZilla) para descargar el archivo, editarlo con un editor de texto (como Notepad++) y volver a subirlo. Eso sí, asegúrate de que los permisos del archivo sean 644 o 600 para que nadie pueda leer tu contraseña.
Consejos finales para evitar el temido "error prestashop base datos"
- Haz siempre una copia de seguridad de
parameters.phpantes de modificarlo. - Usa contraseñas seguras para la base de datos, pero que puedas recordar o guardar en un gestor de contraseñas.
- No dejes espacios en blanco al copiar y pegar valores en el archivo de configuración.
- Revisa los logs de error de tu servidor si algo falla. En DirectAdmin puedes encontrar los logs en la sección "Error Logs".
- Si usas un CDN o proxy, asegúrate de que el host de la base de datos no se vea afectado por la caché.
[TIP] Si tu hosting tiene activado CloudLinux o CageFS, es posible que necesites usar
localhostcomo host obligatoriamente. Consulta con tu proveedor si tienes dudas.
Resumen rápido para conectar PrestaShop a una base de datos en DirectAdmin
- Crea la base de datos y el usuario en MySQL Management.
- Localiza
app/config/parameters.phpen tu instalación. - Edita los campos
database_host,database_name,database_userydatabase_password. - Guarda y prueba la tienda en el navegador.
- Si falla, revisa errores tipográficos y privilegios del usuario.
Con estos pasos, conectar PrestaShop a una base de datos en DirectAdmin no debería llevarte más de 10 minutos. Es un proceso mecánico que, una vez que lo haces una vez, se convierte en algo rutinario.
Si aun así encuentras problemas, revisa los mensajes de error con calma. La mayoría de las veces el error prestashop base datos es un simple fallo de escritura en la contraseña o en el nombre de la base de datos. ¡Ánimo!
