Cómo conectar PrestaShop a una base de datos (parámetros de conexión)
¿Qué es la conexión a la base de datos en PrestaShop y por qué es tan importante?
Cuando instalas PrestaShop, una de las primeras cosas que configuras es la conexión a tu base de datos. Piensa en la base de datos como el "cerebro" de tu tienda online: ahí se guardan todos tus productos, clientes, pedidos, contraseñas y configuraciones. Sin una conexión correcta, PrestaShop es simplemente una carcasa vacía que no puede funcionar.
La conexión se realiza mediante un archivo llamado parameters.php (en versiones modernas) o settings.inc.php (en versiones antiguas). Este archivo contiene las credenciales exactas que tu tienda necesita para comunicarse con el servidor de bases de datos MySQL o MariaDB.
Entender cómo funciona esta conexión te permitirá solucionar errores comunes, migrar tu tienda a otro servidor o simplemente tener control total sobre tu instalación. Además, cuando contratas un hosting, es habitual tener que configurar estos datos manualmente, así que conocerlos te ahorrará muchos dolores de cabeza.
Parámetros de conexión básicos: ¿qué necesitas para conectar PrestaShop a MySQL?
Antes de empezar, tienes que localizar o crear los datos de acceso a tu base de datos. Normalmente, tu proveedor de hosting te facilita estos datos desde el panel de control. Si usas un panel como Syspanel (accesible por el puerto 2106), podrás crear bases de datos y usuarios fácilmente.
Estos son los cuatro parámetros imprescindibles:
- Nombre del servidor de base de datos: Normalmente
localhostsi tu base de datos está en el mismo servidor que tu web. En algunos hostings puede ser una dirección IP o un nombre comomysql.tudominio.com. - Nombre de la base de datos: Por ejemplo,
mistienda_prestashop. Este nombre es único dentro de tu servidor. - Usuario de la base de datos: Por ejemplo,
admin_bd. Este usuario debe tener permisos de lectura, escritura y modificación sobre la base de datos. - Contraseña: La clave asociada al usuario. Guárdala en un lugar seguro, ya que si la pierdes, tendrás que regenerarla desde el panel de tu hosting.
Además, hay un quinto parámetro opcional pero importante: el prefijo de las tablas. Por defecto, PrestaShop usa ps_, pero puedes cambiarlo durante la instalación. Si ya tienes una tienda funcionando, este prefijo estará definido en el archivo de configuración.
[INFO] El prefijo de tablas es importante si compartes una base de datos con otras aplicaciones. Por ejemplo, si tienes WordPress y PrestaShop en el mismo servidor, usar prefijos diferentes evita conflictos.
Cómo conectar PrestaShop a una base de datos durante la instalación
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". Sigue estos pasos:
- Selecciona el tipo de base de datos: En la mayoría de casos, eliges "MySQL" o "MariaDB". Ambos son compatibles.
- Introduce la dirección del servidor: Aquí pones el nombre del servidor que te ha dado tu hosting. En muchos casos, será
localhost. - Escribe el nombre de la base de datos: Asegúrate de que ya la has creado desde tu panel de control. Si no sabes cómo, en Syspanel puedes hacerlo en la sección "Bases de datos".
- Indica el usuario y la contraseña: Deben ser los que has creado para esa base de datos. Verifica que el usuario tenga todos los privilegios.
- Configura el prefijo de las tablas: Si no tienes preferencia, déjalo como
ps_. - Haz clic en "Comprobar la conexión": Si todo es correcto, verás un mensaje de éxito y podrás continuar con la instalación.
Si el asistente te da un error, revisa que no haya espacios en blanco en los campos y que la contraseña esté bien escrita. A veces copiamos y pegamos y se cuela un espacio invisible.
El archivo parameters.php de PrestaShop: la clave de todo
Una vez instalada la tienda, la configuración de la base de datos se guarda en el archivo parameters.php. Lo encontrarás en la carpeta config/ de tu instalación de PrestaShop. Si usas una versión anterior a la 1.7, el archivo se llama settings.inc.php.
Este archivo es un código PHP que devuelve un array con todos los parámetros de conexión. Algo parecido a esto:
return [
'parameters' => [
'database_host' => 'localhost',
'database_name' => 'mistienda_prestashop',
'database_user' => 'admin_bd',
'database_password' => 'tu_contraseña_secreta',
'database_prefix' => 'ps_',
'database_engine' => 'InnoDB',
// ... otros parámetros
],
];
¿Por qué es tan importante este archivo? Porque PrestaShop lo lee en cada petición para saber cómo conectarse a la base de datos. Si modificas los datos de conexión en tu hosting (por ejemplo, cambias la contraseña), tendrás que actualizar este archivo manualmente.
[WARNING] Nunca edites el archivo
parameters.phpdirectamente desde el editor de texto sin hacer una copia de seguridad antes. Un error de sintaxis puede dejar tu tienda completamente inaccesible. Si necesitas editarlo, descárgalo primero, modifícalo con un editor como Notepad++ o VS Code, y súbelo de nuevo.
Cómo editar parameters.php para cambiar la conexión a la base de datos
Si necesitas cambiar la contraseña de tu base de datos, migrar a otro servidor o simplemente corregir un error, editar este archivo es la solución. Sigue estos pasos con cuidado:
- Accede a tu hosting por FTP o por el administrador de archivos de tu panel de control. Si usas Syspanel, puedes hacerlo desde el "Administrador de archivos".
- Navega hasta la carpeta
config/de tu instalación de PrestaShop. - Descarga el archivo
parameters.phpa tu ordenador. - Ábrelo con un editor de texto plano (nada de Word o similares, porque añaden caracteres raros).
- Localiza las líneas donde aparecen
database_host,database_name,database_userydatabase_password. - Sustituye los valores por los nuevos datos. Respeta siempre las comillas simples y los puntos y comas.
- Guarda el archivo con la misma codificación (UTF-8 sin BOM) y súbelo de nuevo al servidor, sobrescribiendo el antiguo.
- Borra la caché de PrestaShop: Ve a
config/cachey elimina los archivos que empiecen porclass_index.phpocache.php. También puedes hacerlo desde el back office en Parámetros avanzados > Rendimiento.
[TIP] Después de subir el archivo modificado, abre tu tienda en una ventana de incógnito. Si ves un error blanco, revisa que no te haya quedado ningún carácter extra. Un buen truco es comparar el archivo original con el modificado antes de subirlo.
Errores comunes de conexión a la base de datos en PrestaShop y cómo solucionarlos
Es muy probable que en algún momento te aparezca un error de conexión. Los más habituales son:
"Link to database cannot be established"
Este es el error más famoso. Suele aparecer cuando PrestaShop no puede conectarse al servidor MySQL. Las causas más comunes son:
- El servidor de base de datos está caído: Comprueba con tu hosting si hay algún problema en el servidor.
- Los datos de acceso son incorrectos: Revisa el archivo
parameters.phpy verifica usuario, contraseña y nombre de la base de datos. - El usuario no tiene permisos suficientes: Desde tu panel de control, asegúrate de que el usuario tiene todos los privilegios sobre la base de datos.
"Access denied for user 'usuario'@'localhost'"
Este error indica que el usuario existe pero la contraseña no coincide. Solución:
- Ve a tu panel de control y restablece la contraseña del usuario de la base de datos.
- Actualiza el archivo
parameters.phpcon la nueva contraseña. - Borra la caché de PrestaShop.
"Unknown database 'nombre_bd'"
Significa que la base de datos que has indicado no existe. Verifica el nombre exacto en tu panel de control. A veces los hostings añaden un prefijo al nombre, como tuusuario_nombrebd.
"MySQL server has gone away"
Este error suele aparecer cuando el servidor cierra la conexión por inactividad o por límites de memoria. Puede deberse a:
- Consultas demasiado pesadas: Optimiza tu base de datos o contacta con tu hosting.
- Tiempo de espera excedido: Aumenta el valor de
max_execution_timeen tu archivophp.ini.
[WARNING] Si cambias la contraseña de tu base de datos desde el hosting, recuerda que PrestaShop no lo sabrá hasta que actualices
parameters.php. Si no lo haces, tu tienda dará error de conexión inmediatamente.
Cómo crear una base de datos y un usuario desde Syspanel
Si estás usando Syspanel (tu panel de control con acceso por el puerto 2106), crear una base de datos es muy sencillo:
- Accede a tu Syspanel: Escribe en tu navegador
https://tudominio.com:2106e inicia sesión con tus credenciales. - Busca la sección "Bases de datos": Normalmente está en el menú lateral o en la pestaña "Servicios".
- Haz clic en "Crear base de datos": Te pedirá un nombre. Elige uno descriptivo, como
tienda_principal. - Crea un usuario para esa base de datos: Puedes hacerlo en la misma sección o en "Usuarios de base de datos". Asegúrate de asignarle todos los privilegios sobre la base de datos recién creada.
- Anota los datos: Guarda en un lugar seguro el nombre de la base de datos, el usuario y la contraseña. Los necesitarás para la instalación o para editar
parameters.php.
[TIP] En Syspanel, el puerto de acceso es el 2106, no el 2083 ni el 8443. Si intentas entrar por otro puerto, no podrás acceder al panel.
Migrar PrestaShop a otro servidor: actualizar la conexión
Si cambias de hosting, tendrás que actualizar los datos de conexión. El proceso es el siguiente:
- Exporta tu base de datos desde el panel antiguo (normalmente con phpMyAdmin) y impórtala en el nuevo servidor.
- Copia todos los archivos de tu PrestaShop al nuevo hosting (por FTP o mediante una copia de seguridad).
- Edita el archivo
parameters.phpcon los nuevos datos de conexión (servidor, nombre de la base de datos, usuario y contraseña). - Comprueba que el prefijo de tablas coincide con el que usa tu base de datos importada.
- Borra la caché en
config/cachepara evitar conflictos. - Revisa la configuración de la URL en la tabla
ps_configurationde la base de datos, si has cambiado de dominio.
[INFO] Si tu nuevo hosting usa Syspanel, recuerda que el puerto de acceso es el 2106 y que podrás crear la base de datos y el usuario desde allí antes de empezar la migración.
Preguntas frecuentes (FAQ) sobre la conexión de PrestaShop a la base de datos
¿Puedo usar una base de datos remota en PrestaShop?
Sí, PrestaShop permite conexiones a servidores MySQL remotos. Solo tienes que indicar la dirección IP o el nombre del servidor en database_host. Ten en cuenta que algunos hostings bloquean conexiones externas por seguridad. Si es tu caso, tendrás que pedir que habiliten el acceso remoto.
¿Qué hago si olvidé la contraseña de la base de datos?
Puedes restablecerla desde tu panel de control. En Syspanel, ve a la sección de bases de datos, selecciona el usuario y elige "Cambiar contraseña". Después, actualiza parameters.php con la nueva contraseña.
¿Es seguro guardar la contraseña en parameters.php?
El archivo parameters.php está fuera de la carpeta pública de tu web (normalmente en config/), así que no es accesible desde el navegador. Además, solo contiene datos de conexión, no información de clientes. Aun así, asegúrate de que los permisos del archivo sean 644 o 600 para mayor seguridad.
¿Puedo cambiar el prefijo de las tablas después de instalar?
Sí, pero no es recomendable hacerlo a mano. Si cambias el prefijo en parameters.php, tendrás que renombrar todas las tablas de la base de datos con una consulta SQL. Es un proceso delicado que puede romper la tienda si no se hace bien. Mejor déjalo como está.
¿Por qué me aparece el error "Connection refused" al conectar?
Este error suele indicar que el servidor de base de datos no está escuchando en el puerto esperado (por defecto, el 3306). Comprueba si tu hosting usa un puerto diferente y añádelo al final del database_host (por ejemplo, localhost:3307).
Consejos finales para mantener tu conexión a la base de datos estable
- Haz copias de seguridad periódicas: Tanto de los archivos como de la base de datos. Así, si algo falla, podrás restaurar sin problemas.
- No compartas tus credenciales: Siempre que sea posible, crea usuarios específicos para cada aplicación.
- Mantén PrestaShop actualizado: Las versiones nuevas corrigen errores de compatibilidad con MySQL y mejoran la seguridad.
- Monitoriza el rendimiento de tu base de datos: Si notas que tu tienda va lenta, revisa las consultas lentas y optimiza las tablas.
Con estos conocimientos, ya sabes cómo funciona la conexión entre PrestaShop y MySQL, cómo solucionar errores comunes y cómo realizar cambios de forma segura. Recuerda que, ante la duda, siempre puedes contactar con tu proveedor de hosting para que te ayude a verificar los datos de acceso.
