Tras un cambio de hosting o de credenciales, PrestaShop sigue leyendo su configuración de MySQL desde un archivo de configuración, no desde el Back Office. Si el host, el nombre de la base de datos, el usuario o la contraseña ya no coinciden con el servidor, la tienda y el administrador dejan de cargar. Esta guía muestra cómo cambiar la conexion base de datos prestashop de forma segura, limpiar la caché que puede conservar valores antiguos y revisar los mensajes de error habituales.
Desde PrestaShop 1.7 (incluidas las versiones 8 y 9), los ajustes de conexión a MySQL residen en app/config/parameters.php. Las tiendas antiguas 1.5 – 1.6 usan config/settings.inc.php. Las notas oficiales sobre ese archivo están en la documentación de desarrolladores de PrestaShop 9 (parameters.php). Valores incorrectos dejan la tienda fuera de línea, así que haz una copia de seguridad completa de PrestaShop antes de editar nada.
Cuándo necesitas cambiar la conexion base de datos prestashop
Sueles editar estos ajustes cuando:
- Migraste la tienda a un nuevo host o VPS y el proveedor te dio un nuevo host, nombre de base de datos, usuario o contraseña.
- Renombraste la base de datos o rotaste la contraseña de MySQL en el panel.
- Restauraste archivos en un servidor que ya tiene otra base de datos.
- La tienda o el Back Office muestran un error de conexión a la base de datos o acceso denegado tras la migración.
No cambias este archivo para renombrar productos, cambiar el email de la tienda o corregir URLs SEO. Eso son pantallas distintas. Si la tienda ya está en línea y solo quieres un volcado más seguro antes de una migración, empieza por la guía de copia de seguridad enlazada arriba.
PrestaShop 1.7, 8 y 9 – editar parameters.php
Para cambiar la conexion base de datos prestashop en una tienda moderna, usa SFTP, SSH o el administrador de archivos de tu host. Trabaja sobre una copia si puedes y sustituye el archivo en producción en un solo paso.
- Abre la raíz de la tienda y ve a
app/config/parameters.php. - Descarga una copia a tu ordenador (seguro ante un rollback).
- Localiza las claves del array
parameters:database_host,database_port,database_name,database_userydatabase_password. - Sustituye solo esos valores por los del nuevo host (o la nueva contraseña). Deja
database_prefixintacto salvo que hayas renombrado realmente el prefijo de todas las tablas. - Guarda y sube el archivo con los mismos permisos de antes.
- Limpia la caché de Symfony/PrestaShop (siguiente sección) y abre la tienda y el Back Office en una ventana privada.
Los nombres de host varían según el proveedor: localhost, 127.0.0.1, un hostname remoto o a veces una ruta de socket. Copia la cadena del panel exactamente – no adivines. Deja database_port vacío cuando el panel no indique un puerto distinto al predeterminado; configúralo (a menudo 3306) solo cuando el host te lo indique.
Ejemplo de estructura (solo marcadores – nunca pegues secretos de ejemplo en producción):
<?php
return array (
'parameters' =>
array (
'database_host' => '127.0.0.1',
'database_port' => '',
'database_name' => 'your_database_name',
'database_user' => 'your_database_user',
'database_password' => 'your_database_password',
'database_prefix' => 'ps_',
'database_engine' => 'InnoDB',
// … otras claves se mantienen como en tu tienda - no inventes nuevos valores secret/cookie
),
);Cambia solo las claves de base de datos que te hayan dado. Tocar secret, cookie_key o cookie_iv cierra la sesión de todos y puede romper las sesiones – eso es otra vía de recuperación. Una conexion base de datos prestashop correcta en este archivo no sirve de nada hasta limpiar la caché (más abajo).
Limpiar /var/cache tras guardar
PrestaShop almacena en caché la configuración compilada. Después de cambiar la conexion base de datos prestashop, elimina la caché bajo /var/cache/ – sobre todo las carpetas dev y prod (y cualquier otra carpeta de entorno similar). Borra esas carpetas o su contenido – no toda la tienda ni directorios ajenos junto a var.
¿El Back Office funciona pero la tienda no? Tras un cambio de la conexion base de datos prestashop, esa división casi siempre es caché obsoleta – limpia var/cache antes de revisar temas, módulos o URLs de la tienda.
Esas carpetas dev y prod pueden ser enormes (decenas de miles de archivos pequeños). Prefiere el administrador de archivos de tu hosting o SSH para borrarlas o vaciarlas. El FTP plano suele ir archivo por archivo y puede tardar horas. Si solo tienes FTP, renombra prod / dev (por ejemplo a prod_old / dev_old) para que PrestaShop recree carpetas vacías al instante y borra los árboles renombrados más tarde cuando tengas tiempo o una herramienta mejor.
- Desde la raíz de la tienda, abre
var/cache/. - Borra o renombra
prodydev(y cualquier otra carpeta de entorno que veas). - Si el host ejecuta PHP-FPM con otro usuario, recrea carpetas
prod/devvacías si hace falta para que el servidor web pueda escribir de nuevo. - Recarga la tienda. La primera carga puede ser más lenta mientras se reconstruye la caché.
Si Parámetros avanzados → Rendimiento es accesible, también puedes limpiar la caché desde el Back Office – pero tras un error de conexion base de datos prestashop a menudo no puedes iniciar sesión, así que la limpieza a nivel de archivos es la vía fiable.

Si la conexion base de datos prestashop sigue fallando
Revisa estos puntos antes de reescribir todo el archivo otra vez:
- Acceso denegado. El usuario o la contraseña son incorrectos, o el usuario MySQL no tiene permiso desde este host. Restablece la contraseña en el panel y pégala con cuidado (sin espacios extra ni comillas tipográficas de una app de chat).
- Base de datos desconocida.
database_nameno coincide con el nombre real del esquema tras la migración. - No se puede conectar al servidor.
database_hosto el puerto incorrectos, firewall o el servicio de base de datos caído. Confírmalo con phpMyAdmin o la herramienta MySQL del host con las mismas credenciales. - Prefijo distinto. Las tablas existen pero usan otro prefijo que
database_prefix– la tienda conecta y luego parece vacía o lanza errores de tablas inexistentes. - Página en blanco / WSOD. Un error de sintaxis en
parameters.php(comilla o coma faltante) puede dejar la tienda en pantalla blanca. Restaura la copia descargada y vuelve a editar. Nuestra guía de pantalla blanca de la muerte cubre el modo depuración cuando el archivo es válido pero falla otra cosa.
El centro de ayuda de PrestaShop también describe el mismo patrón de error de conexión y las claves que debes verificar en parameters.php – útil cuando la redacción del panel difiere de la tuya: Database connection error for your PrestaShop store.
PrestaShop 1.5 – 1.6 heredado – settings.inc.php
Si la tienda sigue en 1.5 o 1.6, abre config/settings.inc.php en su lugar y actualiza:
_DB_SERVER_(host)_DB_NAME__DB_USER__DB_PASSWD_
Mantén _DB_PREFIX_ salvo que hayas renombrado tablas. Guarda, sube y limpia las carpetas de caché que use esa versión antigua (a menudo bajo cache/). La misma advertencia de que una contraseña incorrecta deja la tienda fuera de línea aplica – y una conexion base de datos prestashop incorrecta aquí fallará igual que en versiones más nuevas.
Lista de comprobación rápida
- Copia de seguridad de archivos y base de datos.
- Edita la conexion base de datos prestashop en
app/config/parameters.php(1.7+) oconfig/settings.inc.php(1.5 – 1.6). - Configura host, puerto (si hace falta), nombre, usuario y contraseña según el panel.
- Limpia
var/cache(prefiere administrador de archivos o SSH; renombra con FTP si borrar tardaría demasiado). - Prueba la tienda y el Back Office; si el Back Office va bien pero la tienda no, limpia la caché otra vez antes de buscar otras causas. Si ambos fallan, relaciona el error con acceso denegado / base de datos desconocida / host inalcanzable antes de cambiar claves no relacionadas.
Cuando la conexion base de datos prestashop vuelva a funcionar, termina la lista de migración (dominio de la tienda, SSL, correo) en el nuevo host – los ajustes de conexión por sí solos no actualizan eso.
