Cómo conectar PrestaShop a una base de datos: parámetros y configuración
Conectar la tienda online con su base de datos es como conectar el motor de un coche a sus ruedas. Sin una conexión correcta, el vehículo (tu PrestaShop) no se mueve. Si estás viendo pantallas en blanco, errores de instalación o mensajes que hablan de "enlace a la base de datos fallido", has llegado al lugar adecuado.
En esta guía extensa y paso a paso, vamos a desmontar todo el misterio que rodea a la configuración de la base de datos en PrestaShop. Olvídate de tecnicismos confusos. Aquí te explico, como si estuvieras hablando con un amigo, qué es cada parámetro, cómo encontrarlo y cómo solucionar los errores más comunes.
Vamos a ello. Al final de este artículo, serás capaz de conectar prestashop mysql o cualquier otra base de datos sin sudar, y sabrás exactamente qué significa cada campo del archivo parameters.php prestashop.
¿Qué es una base de datos y por qué PrestaShop la necesita?
Antes de lanzarnos a configurar nada, es fundamental entender el "porqué". Una base de datos es un almacén digital organizado. En el caso de PrestaShop, guarda absolutamente todo: tus productos, precios, clientes, pedidos, contraseñas (cifradas), módulos, configuraciones de la tienda... Todo.
Cuando un visitante entra en tu tienda, el código de PrestaShop (PHP) se ejecuta, va a la base de datos, saca la información relevante (ej. el nombre de un producto) y la muestra en el navegador.
Si esa conexión falla, PrestaShop no puede leer ni escribir nada. El resultado es un error fatal.
Los 4 parámetros mágicos: Host, Usuario, Contraseña y Nombre de BD
Para que PrestaShop encuentre su almacén, necesita saber cuatro datos concretos. Son como las coordenadas GPS para llegar a tu casa.
Aquí te los detallo, porque son la clave para conectar prestashop mysql:
- Host del servidor de base de datos: Es la dirección del servidor donde vive la base de datos. Normalmente es
localhosto127.0.0.1(ambos significan "este mismo servidor"). Si tu base de datos está en un servidor externo (como un hosting cloud), aquí pondrías la URL del servidor de bases de datos, por ejemplo,mysql.sudominio.com. - Usuario de la base de datos: Es el nombre de usuario que tiene permiso para entrar en la base de datos. No es el usuario de tu panel de control de hosting, sino un usuario específico creado para la base de datos. A menudo se ve como
usuario_bdoadmin_bd. - Contraseña de la base de datos: La contraseña asociada a ese usuario. Ojo, puede ser diferente a la contraseña de tu cPanel o de tu cuenta de administrador.
- Nombre de la base de datos: El nombre exacto de la base de datos que has creado (o que te ha asignado tu hosting). Suele llevar un prefijo, como
usuario_prestashop.
Localizando el archivo parameters.php prestashop (La llave maestra)
PrestaShop guarda estos datos de conexión en un archivo muy especial llamado parameters.php. Este archivo se encuentra en la carpeta app/config/ de tu instalación de PrestaShop.
Es el "corazón" de la configuración. Si alguna vez necesitas cambiar la contraseña de tu base de datos o mover tu tienda a otro servidor, tendrás que editar este archivo.
¿Cómo lo edito? Debes usar un editor de texto plano (como el Bloc de notas de Windows o Sublime Text) o, mejor aún, el administrador de archivos de tu hosting (por ejemplo, en Syspanel o cPanel). Nunca lo edites con procesadores de texto como Word, ya que añaden formato que romperá el archivo.
Dentro de parameters.php, verás una estructura similar a esta (simplificada para que la entiendas):
'parameters' => [
'database_host' => 'localhost',
'database_port' => '3306',
'database_name' => 'tu_base_de_datos',
'database_user' => 'tu_usuario',
'database_password' => 'tu_contraseña',
'database_prefix' => 'ps_',
// ... otros parámetros
],
Paso a paso para editar parameters.php prestashop:
- Accede al administrador de archivos de tu hosting o usa FTP (FileZilla).
- Navega hasta
tu_tienda/app/config/. - Localiza el archivo
parameters.phpy haz clic derecho para "Editar" o "Edit". - Localiza las líneas
database_host,database_user,database_passwordydatabase_name. - Sustituye los valores entre comillas simples ('') por los tuyos.
- Guarda el archivo y sube los cambios si estás usando FTP.
[WARNING] Ten muchísimo cuidado al editar este archivo. Un solo carácter mal puesto (una comilla, una coma) puede hacer que tu tienda muestre un error y quede inaccesible. Siempre guarda una copia de seguridad del archivo original antes de tocarlo.
El proceso de instalación: Cuando PrestaShop te pide los datos
Si estás en plena instalación de PrestaShop, te encontrarás con una pantalla que te pide exactamente estos datos. Este es el momento más crítico.
Pasos para instalar prestashop con conexión a BD:
- Llega al paso "Base de datos" en el asistente de instalación.
- Introduce el Nombre del servidor de base de datos (normalmente
localhost). - Introduce el Nombre de la base de datos.
- Introduce el Usuario de la base de datos.
- Introduce la Contraseña.
- Deja el Prefijo de las tablas como
ps_(oes_si es español) a menos que sepas lo que haces. Este prefijo evita conflictos si compartes la base de datos con otra aplicación. - Pulsa "Comprobar ahora" o "Siguiente".
Si todo es correcto, verás una marca verde y podrás continuar. Si ves un error, es hora de ponerse el mono de trabajo y solucionarlo.
Errores de conexión más comunes y cómo solucionarlos
Aquí es donde la cosa se pone interesante. Todos hemos pasado por esto. Vamos a ver los errores conexion prestashop más frecuentes y su solución.
Error 1: "No se puede conectar al servidor de base de datos"
Este es el error más genérico. Puede significar varias cosas:
- El host es incorrecto: Si estás usando un hosting compartido, el host casi siempre es
localhost. Si has creado una base de datos remota, asegúrate de que el host te lo ha dado tu proveedor. A veces es algo comomysql.tudominio.com. - El servidor de BD está caído: En raras ocasiones, el servidor MySQL del hosting puede tener un problema temporal. Espera unos minutos y vuelve a intentarlo.
- Puerto incorrecto: Por defecto, MySQL usa el puerto 3306. Si tu hosting usa otro (por ejemplo, 3307), tendrás que especificarlo en el campo "Puerto" del asistente o en
parameters.phpcon'database_port' => '3307'.
Error 2: "Acceso denegado para el usuario"
Este es muy común y frustrante. Significa que el usuario o la contraseña no son correctos, o que el usuario no tiene permisos para acceder a esa base de datos.
- Revisa la contraseña: Cópiala y pégala directamente desde tu panel de control de hosting para evitar errores de tipeo.
- Revisa el nombre de usuario: Asegúrate de que estás usando el nombre de usuario de la base de datos, no el de tu cuenta de hosting. En muchos paneles, el nombre de usuario aparece como
usuario_nombrebd. - Permisos: En tu panel de control (cPanel, Syspanel, etc.), entra a la sección de bases de datos MySQL y asegúrate de que el usuario que estás usando tiene todos los privilegios (SELECT, INSERT, UPDATE, DELETE, CREATE, etc.) sobre la base de datos. En Syspanel, esto se hace añadiendo el usuario a la base de datos y marcando la casilla "Todos los privilegios".
Error 3: "No se puede seleccionar la base de datos"
Este error indica que el usuario y la contraseña son correctos, pero el nombre de la base de datos que has introducido no existe o no coincide exactamente.
- Verifica el nombre: Ve a tu panel de control y copia el nombre exacto de la base de datos. Es fácil equivocarse con guiones bajos o letras mayúsculas/minúsculas.
- ¿La has creado?: Si estás instalando, asegúrate de haber creado la base de datos previamente en tu panel de hosting. PrestaShop no la crea por ti (aunque algunos asistentes de instalación de hosting lo hacen automáticamente).
Error 4: "La conexión a la base de datos se ha cerrado inesperadamente"
Este es más raro y suele deberse a problemas de permisos del servidor o a un fallo en el script de instalación.
[TIP] Si este error ocurre durante la instalación, borra la base de datos desde tu panel de control, créala de nuevo con un nombre ligeramente distinto (ej:
tienda_v2) y vuelve a intentar la instalación.
Cómo encontrar estos datos en tu panel de hosting (cPanel y Syspanel)
Cada panel es un mundo, pero la lógica es la misma. Te explico los dos más comunes.
En cPanel (el más popular)
- Busca la sección "Bases de Datos" y haz clic en "Bases de Datos MySQL".
- Verás una lista de tus bases de datos y sus usuarios.
- Si no la tienes, créala con un nombre descriptivo.
- En la parte de abajo, verás la sección "Añadir usuario a la base de datos". Selecciona tu usuario y tu base de datos, y asígnale TODOS LOS PRIVILEGIOS.
- ¡Ojo! cPanel a veces añade tu nombre de usuario como prefijo. Si tu usuario de cPanel es
juany creas una BD llamadatienda, el nombre real de la BD serájuan_tienda. Lo mismo con el usuario.
En Syspanel (el panel de control de HestiaCP)
Si tu hosting usa este panel, el proceso es igual de sencillo. Recuerda que el acceso a Syspanel es a través del puerto 2106 (ej: https://tu-dominio.com:2106).
- Inicia sesión en Syspanel.
- Ve a la sección "Bases de Datos" (o "Databases").
- Haz clic en "Añadir Base de Datos".
- Te pedirá un nombre de base de datos, un usuario y una contraseña. Anota estos tres datos, son los que usarás en PrestaShop.
- Syspanel creará automáticamente el usuario y le dará todos los permisos sobre esa base de datos. No necesitas hacer nada más.
[INFO] En Syspanel, el host de la base de datos siempre será
localhosta menos que tengas una configuración de servidor muy específica y avanzada.
Consejos de seguridad para tu base de datos
Una vez que ya sabes conectar prestashop mysql, es vital que asegures esa puerta de entrada.
- Usa contraseñas fuertes: Nada de "123456" o "admin". Usa una combinación de letras mayúsculas, minúsculas, números y símbolos.
- No uses el usuario "root": Crea siempre un usuario específico para tu base de datos de PrestaShop. El usuario root tiene acceso a todo el servidor y es un riesgo de seguridad enorme.
- Cambia el prefijo de las tablas: Si tienes la opción, cambiar el prefijo
ps_a algo menos predecible (ej:mystore_) puede dificultar los ataques de inyección SQL automatizados. - Haz copias de seguridad periódicas: Guarda una copia de tu base de datos (y de tus archivos) con regularidad. Es tu red de seguridad ante cualquier desastre.
Preguntas Frecuentes (FAQ) sobre la conexión a BD en PrestaShop
Para terminar, voy a resolver las dudas más habituales que me encuentro a diario.
¿Qué es un host de base de datos?
Es la dirección del servidor donde se encuentra tu base de datos. Es como la dirección de una oficina. Para la gran mayoría de los alojamientos web, es localhost.
¿Por qué me sale "Error de conexión a la base de datos" después de mover mi tienda a un nuevo hosting?
Porque el archivo parameters.php prestashop tiene los datos del hosting antiguo. Debes editarlo y poner los nuevos datos (host, usuario, contraseña y nombre de BD) del hosting nuevo.
¿Puedo usar la misma base de datos para dos tiendas PrestaShop?
Técnicamente sí, pero es una pésima idea. Se sobrescribirán los datos y crearás un caos absoluto. Es como intentar vivir dos familias en la misma casa y usar la misma nevera. Cada tienda necesita su propia base de datos.
¿Qué hago si olvidé la contraseña de mi base de datos?
No te preocupes, no es un problema. Ve a tu panel de control de hosting (cPanel, Syspanel, etc.) y busca la opción de "Cambiar contraseña" para ese usuario de base de datos. Luego, actualiza el archivo parameters.php con la nueva contraseña.
¿Es lo mismo "localhost" que "127.0.0.1"?
Sí, para este propósito son exactamente lo mismo. Ambos apuntan al servidor local donde está alojada tu web.
¿Qué es el puerto de la base de datos?
Es el "canal" por el que se comunica la aplicación con la base de datos. El puerto estándar para MySQL es el 3306. Solo necesitas cambiarlo si tu proveedor de hosting te indica que uses otro.
¿Puedo conectar PrestaShop a una base de datos MySQL de otro servidor?
Sí, es posible. Solo tienes que asegurarte de que el servidor remoto permite conexiones externas y que tienes el host correcto (ej: sql.tudominio.com) y el puerto adecuado. En ese caso, el host ya no sería localhost.
Espero que esta guía extensa te haya sido de gran ayuda. Conectar prestashop mysql es uno de los primeros y más importantes pasos para tener tu tienda online funcionando. Tómate tu tiempo, revisa cada dato con calma y, sobre todo, no tengas miedo de experimentar (siempre con una copia de seguridad a mano).
Si sigues estos pasos, tendrás tu PrestaShop hablando con su base de datos en un abrir y cerrar de ojos. ¡Mucha suerte con tu tienda!
