{"id":994,"date":"2022-01-19T15:26:24","date_gmt":"2022-01-19T12:26:24","guid":{"rendered":"https:\/\/presta.site\/blog\/como-cambiar-la-configuracion-de-conexion-a-la-base-de-datos-en-prestashop\/"},"modified":"2026-07-25T22:05:35","modified_gmt":"2026-07-25T19:05:35","slug":"como-cambiar-la-configuracion-de-conexion-a-la-base-de-datos-en-prestashop","status":"publish","type":"post","link":"https:\/\/presta.site\/blog\/es\/como-cambiar-la-configuracion-de-conexion-a-la-base-de-datos-en-prestashop\/","title":{"rendered":"Conexion base de datos PrestaShop: cambiar de forma segura"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Tras un cambio de hosting o de credenciales, PrestaShop sigue leyendo su configuraci\u00f3n de MySQL desde un archivo de configuraci\u00f3n, no desde el Back Office. Si el host, el nombre de la base de datos, el usuario o la contrase\u00f1a ya no coinciden con el servidor, la tienda y el administrador dejan de cargar. Esta gu\u00eda muestra c\u00f3mo cambiar la <strong>conexion base de datos prestashop<\/strong> de forma segura, limpiar la cach\u00e9 que puede conservar valores antiguos y revisar los mensajes de error habituales.<\/p>\n\n\n<!--more-->\n\n\n<p class=\"wp-block-paragraph\">Desde PrestaShop 1.7 (incluidas las versiones 8 y 9), los ajustes de conexi\u00f3n a MySQL residen en <code class=\"codecolorer text default\"><span class=\"text\">app\/config\/parameters.php<\/span><\/code>. Las tiendas antiguas 1.5 &#8211; 1.6 usan <code class=\"codecolorer text default\"><span class=\"text\">config\/settings.inc.php<\/span><\/code>. Las notas oficiales sobre ese archivo est\u00e1n en la <a href=\"https:\/\/devdocs.prestashop-project.org\/9\/development\/configuration\/configuring-prestashop\/\" target=\"_blank\" rel=\"noopener noreferrer external\" data-wpel-link=\"external\">documentaci\u00f3n de desarrolladores de PrestaShop 9 (parameters.php)<\/a>. Valores incorrectos dejan la tienda fuera de l\u00ednea, as\u00ed que haz una <a href=\"https:\/\/presta.site\/blog\/es\/como-crear-una-copia-de-seguridad-en-prestashop\/\" data-wpel-link=\"internal\">copia de seguridad completa de PrestaShop<\/a> antes de editar nada.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Cu\u00e1ndo necesitas cambiar la conexion base de datos prestashop<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Sueles editar estos ajustes cuando:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>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\u00f1a.<\/li>\n<li>Renombraste la base de datos o rotaste la contrase\u00f1a de MySQL en el panel.<\/li>\n<li>Restauraste archivos en un servidor que ya tiene otra base de datos.<\/li>\n<li>La tienda o el Back Office muestran un error de conexi\u00f3n a la base de datos o acceso denegado tras la migraci\u00f3n.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><em>No<\/em> 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\u00e1 en l\u00ednea y solo quieres un volcado m\u00e1s seguro antes de una migraci\u00f3n, empieza por la gu\u00eda de copia de seguridad enlazada arriba.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">PrestaShop 1.7, 8 y 9 &#8211; editar parameters.php<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">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\u00f3n en un solo paso.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Abre la ra\u00edz de la tienda y ve a <code class=\"codecolorer text default\"><span class=\"text\">app\/config\/parameters.php<\/span><\/code>.<\/li>\n<li>Descarga una copia a tu ordenador (seguro ante un rollback).<\/li>\n<li>Localiza las claves del array <code class=\"codecolorer text default\"><span class=\"text\">parameters<\/span><\/code>: <code class=\"codecolorer text default\"><span class=\"text\">database_host<\/span><\/code>, <code class=\"codecolorer text default\"><span class=\"text\">database_port<\/span><\/code>, <code class=\"codecolorer text default\"><span class=\"text\">database_name<\/span><\/code>, <code class=\"codecolorer text default\"><span class=\"text\">database_user<\/span><\/code> y <code class=\"codecolorer text default\"><span class=\"text\">database_password<\/span><\/code>.<\/li>\n<li>Sustituye solo esos valores por los del nuevo host (o la nueva contrase\u00f1a). Deja <code class=\"codecolorer text default\"><span class=\"text\">database_prefix<\/span><\/code> intacto salvo que hayas renombrado realmente el prefijo de todas las tablas.<\/li>\n<li>Guarda y sube el archivo con los mismos permisos de antes.<\/li>\n<li>Limpia la cach\u00e9 de Symfony\/PrestaShop (siguiente secci\u00f3n) y abre la tienda y el Back Office en una ventana privada.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Los nombres de host var\u00edan seg\u00fan el proveedor: <code class=\"codecolorer text default\"><span class=\"text\">localhost<\/span><\/code>, <code class=\"codecolorer text default\"><span class=\"text\">127.0.0.1<\/span><\/code>, un hostname remoto o a veces una ruta de socket. Copia la cadena del panel exactamente &#8211; no adivines. Deja <code class=\"codecolorer text default\"><span class=\"text\">database_port<\/span><\/code> vac\u00edo cuando el panel no indique un puerto distinto al predeterminado; config\u00faralo (a menudo <code class=\"codecolorer text default\"><span class=\"text\">3306<\/span><\/code>) solo cuando el host te lo indique.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ejemplo de estructura (solo marcadores &#8211; nunca pegues secretos de ejemplo en producci\u00f3n):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?php\nreturn array (\n  'parameters' =&gt;\n  array (\n    'database_host' =&gt; '127.0.0.1',\n    'database_port' =&gt; '',\n    'database_name' =&gt; 'your_database_name',\n    'database_user' =&gt; 'your_database_user',\n    'database_password' =&gt; 'your_database_password',\n    'database_prefix' =&gt; 'ps_',\n    'database_engine' =&gt; 'InnoDB',\n    \/\/ \u2026 otras claves se mantienen como en tu tienda - no inventes nuevos valores secret\/cookie\n  ),\n);<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Cambia solo las claves de base de datos que te hayan dado. Tocar <code class=\"codecolorer text default\"><span class=\"text\">secret<\/span><\/code>, <code class=\"codecolorer text default\"><span class=\"text\">cookie_key<\/span><\/code> o <code class=\"codecolorer text default\"><span class=\"text\">cookie_iv<\/span><\/code> cierra la sesi\u00f3n de todos y puede romper las sesiones &#8211; eso es otra v\u00eda de recuperaci\u00f3n. Una conexion base de datos prestashop correcta en este archivo no sirve de nada hasta limpiar la cach\u00e9 (m\u00e1s abajo).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Limpiar \/var\/cache tras guardar<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">PrestaShop almacena en cach\u00e9 la configuraci\u00f3n compilada. Despu\u00e9s de cambiar la conexion base de datos prestashop, elimina la cach\u00e9 bajo <code class=\"codecolorer text default\"><span class=\"text\">\/var\/cache\/<\/span><\/code> &#8211; sobre todo las carpetas <code class=\"codecolorer text default\"><span class=\"text\">dev<\/span><\/code> y <code class=\"codecolorer text default\"><span class=\"text\">prod<\/span><\/code> (y cualquier otra carpeta de entorno similar). Borra esas carpetas o su contenido &#8211; no toda la tienda ni directorios ajenos junto a <code class=\"codecolorer text default\"><span class=\"text\">var<\/span><\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u00bfEl Back Office funciona pero la tienda no?<\/strong> Tras un cambio de la conexion base de datos prestashop, esa divisi\u00f3n casi siempre es cach\u00e9 obsoleta &#8211; limpia <code class=\"codecolorer text default\"><span class=\"text\">var\/cache<\/span><\/code> antes de revisar temas, m\u00f3dulos o URLs de la tienda.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Esas carpetas <code class=\"codecolorer text default\"><span class=\"text\">dev<\/span><\/code> y <code class=\"codecolorer text default\"><span class=\"text\">prod<\/span><\/code> pueden ser enormes (decenas de miles de archivos peque\u00f1os). Prefiere el <strong>administrador de archivos<\/strong> de tu hosting o <strong>SSH<\/strong> para borrarlas o vaciarlas. El FTP plano suele ir archivo por archivo y puede tardar horas. Si solo tienes FTP, <strong>renombra<\/strong> <code class=\"codecolorer text default\"><span class=\"text\">prod<\/span><\/code> \/ <code class=\"codecolorer text default\"><span class=\"text\">dev<\/span><\/code> (por ejemplo a <code class=\"codecolorer text default\"><span class=\"text\">prod_old<\/span><\/code> \/ <code class=\"codecolorer text default\"><span class=\"text\">dev_old<\/span><\/code>) para que PrestaShop recree carpetas vac\u00edas al instante y borra los \u00e1rboles renombrados m\u00e1s tarde cuando tengas tiempo o una herramienta mejor.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Desde la ra\u00edz de la tienda, abre <code class=\"codecolorer text default\"><span class=\"text\">var\/cache\/<\/span><\/code>.<\/li>\n<li>Borra o renombra <code class=\"codecolorer text default\"><span class=\"text\">prod<\/span><\/code> y <code class=\"codecolorer text default\"><span class=\"text\">dev<\/span><\/code> (y cualquier otra carpeta de entorno que veas).<\/li>\n<li>Si el host ejecuta PHP-FPM con otro usuario, recrea carpetas <code class=\"codecolorer text default\"><span class=\"text\">prod<\/span><\/code> \/ <code class=\"codecolorer text default\"><span class=\"text\">dev<\/span><\/code> vac\u00edas si hace falta para que el servidor web pueda escribir de nuevo.<\/li>\n<li>Recarga la tienda. La primera carga puede ser m\u00e1s lenta mientras se reconstruye la cach\u00e9.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Si Par\u00e1metros avanzados \u2192 Rendimiento es accesible, tambi\u00e9n puedes limpiar la cach\u00e9 desde el Back Office &#8211; pero tras un error de conexion base de datos prestashop a menudo no puedes iniciar sesi\u00f3n, as\u00ed que la limpieza a nivel de archivos es la v\u00eda fiable.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1703\" height=\"626\" src=\"https:\/\/presta.site\/blog\/wp-content\/uploads\/2022\/01\/clear-cache.png\" alt=\"Limpiar cach\u00e9 en Par\u00e1metros avanzados \u2192 Rendimiento tras cambiar la conexion base de datos prestashop\" class=\"wp-image-1994\" srcset=\"https:\/\/presta.site\/blog\/wp-content\/uploads\/2022\/01\/clear-cache.png 1703w, https:\/\/presta.site\/blog\/wp-content\/uploads\/2022\/01\/clear-cache-300x110.png 300w, https:\/\/presta.site\/blog\/wp-content\/uploads\/2022\/01\/clear-cache-1024x376.png 1024w, https:\/\/presta.site\/blog\/wp-content\/uploads\/2022\/01\/clear-cache-768x282.png 768w, https:\/\/presta.site\/blog\/wp-content\/uploads\/2022\/01\/clear-cache-1536x565.png 1536w, https:\/\/presta.site\/blog\/wp-content\/uploads\/2022\/01\/clear-cache-1200x441.png 1200w\" sizes=\"auto, (max-width: 1703px) 100vw, 1703px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Si la conexion base de datos prestashop sigue fallando<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Revisa estos puntos antes de reescribir todo el archivo otra vez:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Acceso denegado.<\/strong> El usuario o la contrase\u00f1a son incorrectos, o el usuario MySQL no tiene permiso desde este host. Restablece la contrase\u00f1a en el panel y p\u00e9gala con cuidado (sin espacios extra ni comillas tipogr\u00e1ficas de una app de chat).<\/li>\n<li><strong>Base de datos desconocida.<\/strong> <code class=\"codecolorer text default\"><span class=\"text\">database_name<\/span><\/code> no coincide con el nombre real del esquema tras la migraci\u00f3n.<\/li>\n<li><strong>No se puede conectar al servidor.<\/strong> <code class=\"codecolorer text default\"><span class=\"text\">database_host<\/span><\/code> o el puerto incorrectos, firewall o el servicio de base de datos ca\u00eddo. Conf\u00edrmalo con phpMyAdmin o la herramienta MySQL del host con las mismas credenciales.<\/li>\n<li><strong>Prefijo distinto.<\/strong> Las tablas existen pero usan otro prefijo que <code class=\"codecolorer text default\"><span class=\"text\">database_prefix<\/span><\/code> &#8211; la tienda conecta y luego parece vac\u00eda o lanza errores de tablas inexistentes.<\/li>\n<li><strong>P\u00e1gina en blanco \/ WSOD.<\/strong> Un error de sintaxis en <code class=\"codecolorer text default\"><span class=\"text\">parameters.php<\/span><\/code> (comilla o coma faltante) puede dejar la tienda en pantalla blanca. Restaura la copia descargada y vuelve a editar. Nuestra <a href=\"https:\/\/presta.site\/blog\/es\/pantalla-blanca-de-la-muerte-en-prestashop-una-guia-paso-a-paso\/\" data-wpel-link=\"internal\">gu\u00eda de pantalla blanca de la muerte<\/a> cubre el modo depuraci\u00f3n cuando el archivo es v\u00e1lido pero falla otra cosa.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">El centro de ayuda de PrestaShop tambi\u00e9n describe el mismo patr\u00f3n de error de conexi\u00f3n y las claves que debes verificar en <code class=\"codecolorer text default\"><span class=\"text\">parameters.php<\/span><\/code> &#8211; \u00fatil cuando la redacci\u00f3n del panel difiere de la tuya: <a href=\"https:\/\/help-center.prestashop.com\/hc\/en-us\/articles\/11332064842258--Database-connection-error-for-your-PrestaShop-store\" target=\"_blank\" rel=\"noopener noreferrer external\" data-wpel-link=\"external\">Database connection error for your PrestaShop store<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">PrestaShop 1.5 &#8211; 1.6 heredado &#8211; settings.inc.php<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Si la tienda sigue en 1.5 o 1.6, abre <code class=\"codecolorer text default\"><span class=\"text\">config\/settings.inc.php<\/span><\/code> en su lugar y actualiza:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code class=\"codecolorer text default\"><span class=\"text\">_DB_SERVER_<\/span><\/code> (host)<\/li>\n<li><code class=\"codecolorer text default\"><span class=\"text\">_DB_NAME_<\/span><\/code><\/li>\n<li><code class=\"codecolorer text default\"><span class=\"text\">_DB_USER_<\/span><\/code><\/li>\n<li><code class=\"codecolorer text default\"><span class=\"text\">_DB_PASSWD_<\/span><\/code><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Mant\u00e9n <code class=\"codecolorer text default\"><span class=\"text\">_DB_PREFIX_<\/span><\/code> salvo que hayas renombrado tablas. Guarda, sube y limpia las carpetas de cach\u00e9 que use esa versi\u00f3n antigua (a menudo bajo <code class=\"codecolorer text default\"><span class=\"text\">cache\/<\/span><\/code>). La misma advertencia de que una contrase\u00f1a incorrecta deja la tienda fuera de l\u00ednea aplica &#8211; y una conexion base de datos prestashop incorrecta aqu\u00ed fallar\u00e1 igual que en versiones m\u00e1s nuevas.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Lista de comprobaci\u00f3n r\u00e1pida<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Copia de seguridad de archivos y base de datos.<\/li>\n<li>Edita la conexion base de datos prestashop en <code class=\"codecolorer text default\"><span class=\"text\">app\/config\/parameters.php<\/span><\/code> (1.7+) o <code class=\"codecolorer text default\"><span class=\"text\">config\/settings.inc.php<\/span><\/code> (1.5 &#8211; 1.6).<\/li>\n<li>Configura host, puerto (si hace falta), nombre, usuario y contrase\u00f1a seg\u00fan el panel.<\/li>\n<li>Limpia <code class=\"codecolorer text default\"><span class=\"text\">var\/cache<\/span><\/code> (prefiere administrador de archivos o SSH; renombra con FTP si borrar tardar\u00eda demasiado).<\/li>\n<li>Prueba la tienda y el Back Office; si el Back Office va bien pero la tienda no, limpia la cach\u00e9 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.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Cuando la conexion base de datos prestashop vuelva a funcionar, termina la lista de migraci\u00f3n (dominio de la tienda, SSL, correo) en el nuevo host &#8211; los ajustes de conexi\u00f3n por s\u00ed solos no actualizan eso.<\/p>\n\n","protected":false},"excerpt":{"rendered":"<p>C\u00f3mo cambiar la conexion base de datos prestashop en parameters.php (1.7\/8\/9) o settings.inc.php (1.5-1.6), limpiar var\/cache con seguridad y corregir errores de acceso denegado.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[123],"tags":[],"class_list":["post-994","post","type-post","status-publish","format-standard","hentry","category-desarrollo"],"_links":{"self":[{"href":"https:\/\/presta.site\/blog\/wp-json\/wp\/v2\/posts\/994","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/presta.site\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/presta.site\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/presta.site\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/presta.site\/blog\/wp-json\/wp\/v2\/comments?post=994"}],"version-history":[{"count":3,"href":"https:\/\/presta.site\/blog\/wp-json\/wp\/v2\/posts\/994\/revisions"}],"predecessor-version":[{"id":2005,"href":"https:\/\/presta.site\/blog\/wp-json\/wp\/v2\/posts\/994\/revisions\/2005"}],"wp:attachment":[{"href":"https:\/\/presta.site\/blog\/wp-json\/wp\/v2\/media?parent=994"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/presta.site\/blog\/wp-json\/wp\/v2\/categories?post=994"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/presta.site\/blog\/wp-json\/wp\/v2\/tags?post=994"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}