🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Cómo conectar una base de datos MySQL en PrestaShop (config/settings.inc.php)

Actualizado el 17 de enero de 2026

Introducción: ¿Por qué necesitas conectar la base de datos en PrestaShop?

Cuando tu tienda online empieza a dar problemas de conexión, muestra el temido error "Error de conexión a la base de datos" o simplemente quieres migrar tu proyecto a un servidor más potente, tarde o temprano tendrás que tocar el archivo settings.inc.php. Este pequeño pero crucial archivo es el puente entre tu PrestaShop y MySQL. Sin una configuración correcta, tu tienda no puede funcionar, porque es ahí donde se guardan los datos de acceso a la base de datos: usuario, contraseña, nombre de la base y servidor.

A lo largo de esta guía, te explicaré paso a paso cómo conectar prestashop mysql editando este archivo, qué debes tener en cuenta antes de tocarlo, y cómo solucionar los errores más comunes. No necesitas ser un experto en programación, solo seguir las instrucciones con calma y hacer una copia de seguridad antes de empezar.

¿Qué es el archivo settings.inc.php de PrestaShop?

El archivo settings.inc.php es el corazón de la configuración de tu tienda. Se encuentra en la raíz de tu instalación de PrestaShop, normalmente en una carpeta como public_html o www. Dentro de este archivo se definen constantes como _DB_SERVER_, _DB_NAME_, _DB_USER_ y _DB_PASSWD_, que son las que utiliza el sistema para establecer la conexión con MySQL.

Cuando hablamos de settings.inc.php prestashop, nos referimos a este fichero, que en versiones antiguas de PrestaShop (1.6 y anteriores) era el único lugar donde se guardaban estos datos. En versiones más modernas (1.7 y 8.x), la configuración se gestiona desde el panel de administración, pero el archivo sigue existiendo y es fundamental para que todo funcione. De hecho, si el archivo está corrupto o mal configurado, tu tienda no cargará.

Antes de empezar: copia de seguridad obligatoria

Esto es lo más importante de toda la guía. Si modificas mal el archivo, tu tienda dejará de funcionar. Por eso, antes de tocar nada, haz una copia de seguridad del archivo original. Puedes hacerlo desde el panel de control de tu hosting (como Syspanel, que se accede por el puerto 2106) o mediante FTP.

  1. Conéctate a tu servidor mediante FTP o al administrador de archivos de Syspanel.
  2. Localiza la carpeta raíz de tu PrestaShop.
  3. Busca el archivo config/settings.inc.php.
  4. Descárgalo a tu ordenador o haz una copia con un nombre como settings.inc.php.bak.

Si algo sale mal, siempre podrás restaurar la copia y volver a tener tu tienda operativa.

Localizando el archivo correcto

La ruta exacta puede variar según la versión de PrestaShop y la configuración de tu hosting. Lo normal es encontrarlo en:

  • /public_html/config/settings.inc.php
  • /www/config/settings.inc.php
  • /var/www/html/config/settings.inc.php

Si usas un hosting compartido, la ruta suele ser /public_html. Si tienes una instalación personalizada, busca en la carpeta donde instalaste PrestaShop. Una pista: si tu tienda está en www.tutienda.com, el archivo estará en la carpeta que corresponde a ese dominio.

Estructura del archivo settings.inc.php

Cuando abras el archivo con un editor de texto (como Notepad++ o Sublime Text), verás algo similar a esto:

<?php
define('_DB_SERVER_', 'localhost');
define('_DB_NAME_', 'nombre_base_datos');
define('_DB_USER_', 'usuario_mysql');
define('_DB_PASSWD_', 'contraseña_mysql');
define('_DB_PREFIX_', 'ps_');
define('_MYSQL_ENGINE_', 'InnoDB');
define('_PS_CACHING_SYSTEM_', 'CacheMemcache');
define('_PS_CACHE_ENABLED_', '0');
define('_COOKIE_KEY_', 'cadena_aleatoria');
define('_COOKIE_IV_', 'otra_cadena');
define('_PS_CREATION_DATE_', '2023-01-01');

Las cuatro primeras líneas son las que nos interesan para configurar base de datos prestashop:

  • _DB_SERVER_: la dirección del servidor MySQL (normalmente localhost, pero puede ser una IP o un hostname como db.mihosting.com).
  • _DB_NAME_: el nombre exacto de tu base de datos.
  • _DB_USER_: el usuario de MySQL que tiene acceso a esa base.
  • _DB_PASSWD_: la contraseña de ese usuario.

El prefijo (_DB_PREFIX_) es opcional, pero si lo cambias, asegúrate de que coincide con el prefijo real de tus tablas.

Pasos para conectar PrestaShop a MySQL

Ahora vamos a lo práctico. Sigue estos pasos para cambiar base de datos prestashop o simplemente corregir una conexión rota.

Paso 1: Obtén los datos de tu base de datos MySQL

Antes de editar nada, necesitas tener a mano los datos correctos. Si no los tienes, puedes crearlos desde el panel de control de tu hosting. En Syspanel (puerto 2106), busca la sección de "Bases de datos" o "MySQL". Ahí podrás:

  • Crear una nueva base de datos.
  • Crear un usuario y asignarle contraseña.
  • Vincular el usuario a la base de datos con permisos completos (SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, etc.).

Si ya tienes una base existente, simplemente anota el nombre, el usuario y la contraseña. El servidor suele ser localhost, pero en algunos hostings puede ser algo como mysql.tudominio.com o una IP. Consulta la documentación de tu proveedor.

Paso 2: Edita el archivo settings.inc.php

Abre el archivo con un editor de texto plano. Nunca uses Word o programas que añadan formato oculto. Reemplaza los valores de las constantes:

define('_DB_SERVER_', 'localhost');
define('_DB_NAME_', 'tu_nueva_base');
define('_DB_USER_', 'tu_usuario');
define('_DB_PASSWD_', 'tu_contraseña');

Guarda el archivo y súbelo de nuevo al servidor, sobrescribiendo el original. Si trabajas directamente en el servidor (por ejemplo, con el editor de archivos de Syspanel), guarda los cambios desde allí.

Paso 3: Verifica los permisos del archivo

El archivo debe tener permisos de lectura para el servidor web. Normalmente, los permisos correctos son 644 (lectura y escritura para el propietario, lectura para el grupo y el resto). Si ves que el archivo está en 444 (solo lectura), puede dar problemas. Cámbialo a 644 desde el administrador de archivos o con un cliente FTP.

Paso 4: Comprueba la conexión

Una vez guardado, intenta acceder a tu tienda. Si todo está correcto, la página cargará con normalidad. Si aparece un error, revisa los siguientes puntos:

  • ¿El nombre de la base de datos es exacto? (distingue mayúsculas y minúsculas).
  • ¿El usuario tiene permisos sobre esa base? (prueba a conectarte desde phpMyAdmin).
  • ¿La contraseña tiene caracteres especiales? A veces los símbolos como $, # o @ pueden causar problemas si no están bien escapados.

Errores comunes y cómo solucionarlos

Error: "Error de conexión a la base de datos"

Este es el error más genérico y puede deberse a varias causas:

  1. Datos incorrectos: revisa que usuario, contraseña y nombre de base sean los correctos.
  2. Servidor MySQL caído: si el hosting está teniendo problemas, no es tu culpa. Espera unos minutos.
  3. Permisos de archivo: asegúrate de que settings.inc.php es legible por el servidor web.

Error: "Access denied for user"

Si ves este mensaje, significa que el usuario de MySQL no tiene permisos para conectarse desde el servidor donde está tu PrestaShop. En Syspanel, revisa que el usuario esté vinculado a la base de datos correcta y que el host permitido sea localhost o el que uses.

Error: "Unknown database"

El sistema no encuentra la base de datos. Verifica que el nombre en _DB_NAME_ coincide exactamente con el que aparece en tu panel de control. A veces hay un prefijo del hosting, como usuario123_nombre_base.

Error: "Connection refused"

Esto suele ocurrir cuando el servidor MySQL no está escuchando en el puerto esperado. Si tu hosting usa un puerto personalizado, tendrás que añadirlo al final de _DB_SERVER_, por ejemplo: localhost:3307.

¿Cuándo deberías cambiar la base de datos?

Puede que necesites cambiar base de datos prestashop en estos escenarios:

  • Migración a otro hosting: te mudas a un servidor nuevo y tienes que apuntar a la nueva base.
  • Restauración de una copia de seguridad: restauraste una copia en una base con otro nombre.
  • Problemas de rendimiento: quieres mover la base a un servidor MySQL dedicado.
  • Seguridad: quieres cambiar la contraseña de la base de datos.

En todos estos casos, el proceso es el mismo: editar las constantes en settings.inc.php y guardar.

Alternativa: configurar la base de datos desde el panel de administración

En PrestaShop 1.7 y versiones superiores, existe la opción de cambiar la configuración de la base de datos desde el back office, en Parámetros avanzados > Base de datos. Sin embargo, este método no siempre funciona si la conexión está rota, porque necesitas acceder al panel. Por eso, editar el archivo directamente es la solución más fiable.

Si puedes acceder al panel, ve a esa sección y modifica los campos. El sistema actualizará automáticamente el archivo, pero es recomendable hacerlo manualmente si tienes experiencia.

Consejos finales para una conexión exitosa

  • Usa siempre contraseñas seguras y cámbialas periódicamente.
  • No compartas el archivo settings.inc.php con nadie, ya que contiene credenciales sensibles.
  • Mantén una copia de seguridad del archivo en un lugar seguro, junto con un backup de la base de datos.
  • Si usas Syspanel, recuerda que el acceso es a través del puerto 2106, y que desde ahí puedes gestionar tanto los archivos como las bases de datos.

Preguntas frecuentes (FAQ)

¿Puedo usar cualquier editor de texto para modificar el archivo?

Sí, pero evita editores como WordPad o Microsoft Word. Usa Notepad++, Sublime Text, o incluso el editor de código de Syspanel. Lo importante es que guardes el archivo en formato UTF-8 sin BOM.

¿Qué pasa si cambio el prefijo de las tablas?

Si cambias _DB_PREFIX_, PrestaShop buscará tablas con ese nuevo prefijo. Si no existen, la tienda no funcionará. Solo cambia esto si sabes exactamente lo que haces.

¿Necesito reiniciar algo después de guardar?

Normalmente no. PrestaShop lee el archivo en cada petición, así que los cambios se aplican al instante. Si tienes caché activada, puede que necesites vaciarla desde el panel o borrando la carpeta var/cache.

¿Puedo conectarme a una base de datos remota?

Sí, solo tienes que poner la IP o el hostname del servidor MySQL en _DB_SERVER_. Asegúrate de que el servidor remoto permite conexiones desde tu IP y que el usuario tiene permisos.

¿Qué hago si he perdido la contraseña de MySQL?

Desde Syspanel puedes restablecer la contraseña de un usuario de base de datos. Luego actualiza el archivo con la nueva contraseña. No olvides actualizar también cualquier otra aplicación que use esa base.

Conclusión

Conectar tu PrestaShop a una base de datos MySQL editando settings.inc.php es una tarea sencilla si sigues los pasos correctos. La clave está en tener los datos exactos de la base, hacer una copia de seguridad y editar con cuidado. No tengas miedo de equivocarte: si algo falla, siempre puedes restaurar la copia de seguridad.

Recuerda que este archivo es la puerta de entrada a tus datos, así que trátalo con respeto. Si en algún momento te sientes perdido, no dudes en consultar la documentación de tu hosting o contactar con su soporte. Y si usas Syspanel, ya sabes: accede por el puerto 2106 y busca las herramientas de bases de datos y administrador de archivos.

Ahora ya sabes cómo conectar prestashop mysql, cómo configurar base de datos prestashop y cómo cambiar base de datos prestashop cuando lo necesites. ¡Tu tienda online estará funcionando en pocos minutos!

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel