{"id":3670,"date":"2026-07-01T21:43:11","date_gmt":"2026-07-01T19:43:11","guid":{"rendered":"https:\/\/mantenimientoweb.pro\/blog\/como-solucionar-el-error-de-conexion-a-la-base-de-datos-en-wordpress\/"},"modified":"2026-07-01T21:43:13","modified_gmt":"2026-07-01T19:43:13","slug":"como-solucionar-el-error-de-conexion-a-la-base-de-datos-en-wordpress","status":"publish","type":"post","link":"https:\/\/mantenimientoweb.pro\/blog\/como-solucionar-el-error-de-conexion-a-la-base-de-datos-en-wordpress\/","title":{"rendered":"\u00bfC\u00f3mo solucionar el error de conexi\u00f3n a la base de datos en WordPress?"},"content":{"rendered":"<p><main><\/p>\n<article>\n<header>\n      \u00bfC\u00f3mo solucionar el error de conexi\u00f3n a la base de datos en WordPress? \ud83d\udee0\ufe0f<\/p>\n<p>\n        Pocas frases tienen tanta capacidad de arruinar una ma\u00f1ana como esta: <strong>\u201cError al establecer una conexi\u00f3n con la base de datos\u201d<\/strong>. Aparece de pronto, blanca y seca, como una puerta cerrada en mitad de un pasillo. Tu web no carga, el panel de administraci\u00f3n tampoco, y WordPress \u2014ese sistema que ayer parec\u00eda d\u00f3cil\u2014 se queda mirando al vac\u00edo con una serenidad casi ofensiva.\n      <\/p>\n<p>\n        Lo ir\u00f3nico es que el sitio sigue ah\u00ed. Los archivos no se han evaporado. Las im\u00e1genes duermen en sus carpetas. Los plugins siguen ocupando su lugar, tan solemnes como muebles en una casa sin luz. Lo que se ha roto, casi siempre, es el puente entre WordPress y MySQL o MariaDB: una conversaci\u00f3n breve, t\u00e9cnica y vital. Sin ella, no hay entradas, usuarios, ajustes, pedidos, formularios ni p\u00e1ginas. Hay decorado, s\u00ed; pero sin memoria.\n      <\/p>\n<\/header>\n<nav aria-label=\"Tabla de contenidos\">\n<h2>Qu\u00e9 ver\u00e1s en esta gu\u00eda<\/h2>\n<ul>\n<li><a href=\"#que-significa\">Qu\u00e9 significa exactamente este error<\/a><\/li>\n<li><a href=\"#causas\">Causas m\u00e1s habituales<\/a><\/li>\n<li><a href=\"#antes-de-tocar\">Qu\u00e9 hacer antes de modificar nada<\/a><\/li>\n<li><a href=\"#diagnostico-rapido\">Diagn\u00f3stico r\u00e1pido paso a paso<\/a><\/li>\n<li><a href=\"#wp-config\">Revisar wp-config.php y credenciales<\/a><\/li>\n<li><a href=\"#servidor-db\">Comprobar el servidor MySQL\/MariaDB<\/a><\/li>\n<li><a href=\"#reparar-db\">Reparar una base de datos da\u00f1ada<\/a><\/li>\n<li><a href=\"#hosting\">Problemas de hosting, recursos y tr\u00e1fico<\/a><\/li>\n<li><a href=\"#seguridad\">Posibles incidentes de seguridad<\/a><\/li>\n<li><a href=\"#prevencion\">C\u00f3mo evitar que vuelva a ocurrir<\/a><\/li>\n<\/ul>\n<\/nav>\n<section id=\"que-significa\">\n<h2>Qu\u00e9 significa el error de conexi\u00f3n a la base de datos en WordPress<\/h2>\n<p>\n        WordPress necesita dos grandes piezas para funcionar: los <strong>archivos del sitio<\/strong> y la <strong>base de datos<\/strong>. En los archivos viven el n\u00facleo de WordPress, temas, plugins y recursos. En la base de datos viven contenidos, configuraciones, usuarios, comentarios, productos de WooCommerce, metadatos, opciones del tema y buena parte del alma administrativa del sitio.\n      <\/p>\n<p>\n        Cuando visitas una p\u00e1gina, WordPress ejecuta c\u00f3digo PHP y consulta la base de datos para construir la respuesta. Si esa conexi\u00f3n falla, el sistema no puede recuperar la informaci\u00f3n necesaria. Es como tener una biblioteca magn\u00edfica con todas las fichas del cat\u00e1logo quemadas: los libros est\u00e1n all\u00ed, pero nadie sabe encontrarlos.\n      <\/p>\n<p>\n        El mensaje suele aparecer as\u00ed:\n      <\/p>\n<pre><code>Error establishing a database connection<\/code><\/pre>\n<p>\n        En instalaciones en espa\u00f1ol puede verse como:\n      <\/p>\n<pre><code>Error al establecer una conexi\u00f3n con la base de datos<\/code><\/pre>\n<p>\n        Y aunque el aviso parece \u00fanico, sus causas son variadas. Puede tratarse de una contrase\u00f1a incorrecta, una base de datos ca\u00edda, una tabla da\u00f1ada, un servidor saturado, un cambio de hosting incompleto o incluso un ataque. WordPress, con su diplomacia de cartel de ascensor, no suele contarlo todo de entrada.\n      <\/p>\n<p>        <strong>Idea clave:<\/strong> este error no siempre significa que tu base de datos se haya perdido. Muchas veces solo significa que WordPress no puede acceder a ella en ese momento. La diferencia es enorme: una cosa es perder el mapa; otra, que el puente est\u00e9 cerrado por mantenimiento.<\/p>\n<\/section>\n<section id=\"causas\">\n<h2>Causas frecuentes del error de conexi\u00f3n a la base de datos<\/h2>\n<p>\n        Antes de entrar con bistur\u00ed, conviene entender el terreno. En la pr\u00e1ctica profesional, la mayor\u00eda de casos se explican por uno de estos escenarios:\n      <\/p>\n<table>\n<thead>\n<tr>\n<th>Causa<\/th>\n<th>S\u00edntoma habitual<\/th>\n<th>Prioridad<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Credenciales incorrectas en <code>wp-config.php<\/code><\/td>\n<td>El error aparece despu\u00e9s de migrar, restaurar una copia, cambiar contrase\u00f1a o mover el sitio<\/td>\n<td>Alta<\/td>\n<\/tr>\n<tr>\n<td>Servidor MySQL o MariaDB ca\u00eddo<\/td>\n<td>Varios sitios del mismo hosting fallan o el panel muestra incidencias<\/td>\n<td>Alta<\/td>\n<\/tr>\n<tr>\n<td>Base de datos corrupta<\/td>\n<td>El frontend falla, el admin muestra otro mensaje o ciertas tablas no responden<\/td>\n<td>Media-alta<\/td>\n<\/tr>\n<tr>\n<td>L\u00edmite de conexiones alcanzado<\/td>\n<td>El error aparece de forma intermitente, sobre todo en horas de tr\u00e1fico<\/td>\n<td>Alta si hay WooCommerce o campa\u00f1as activas<\/td>\n<\/tr>\n<tr>\n<td>Recursos insuficientes del servidor<\/td>\n<td>CPU, RAM o I\/O al l\u00edmite; errores 500, lentitud extrema y ca\u00eddas ocasionales<\/td>\n<td>Media-alta<\/td>\n<\/tr>\n<tr>\n<td>Host de base de datos incorrecto<\/td>\n<td>Com\u00fan tras migraciones; <code>localhost<\/code> no siempre es v\u00e1lido<\/td>\n<td>Alta<\/td>\n<\/tr>\n<tr>\n<td>Permisos o usuario MySQL mal configurados<\/td>\n<td>El usuario existe, pero no tiene privilegios sobre la base de datos<\/td>\n<td>Media<\/td>\n<\/tr>\n<tr>\n<td>Actualizaciones fallidas o plugins problem\u00e1ticos<\/td>\n<td>El error aparece tras actualizar WordPress, plugins o tema<\/td>\n<td>Media<\/td>\n<\/tr>\n<tr>\n<td>Incidente de seguridad<\/td>\n<td>Cambios no autorizados, archivos extra\u00f1os, usuarios sospechosos o consumo an\u00f3malo<\/td>\n<td>Cr\u00edtica<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\n        La modernidad digital tiene estas paradojas: un negocio puede vender a todo el mundo desde un servidor del tama\u00f1o de una tostadora l\u00f3gica, pero una contrase\u00f1a mal copiada \u2014un car\u00e1cter, un punto, una comilla\u2014 puede dejarlo en silencio. Imperios detenidos por minucias. Nada nuevo, en realidad.\n      <\/p>\n<\/section>\n<section id=\"antes-de-tocar\">\n<h2>Antes de tocar nada: respira, documenta y haz una copia \ud83e\uddef<\/h2>\n<p>\n        Hay una tentaci\u00f3n comprensible: entrar al panel de hosting y empezar a cambiar cosas. Es humana. Tambi\u00e9n es una forma bastante eficaz de convertir un problema simple en una peque\u00f1a novela rusa. Antes de modificar archivos, credenciales o tablas, sigue tres pasos b\u00e1sicos.\n      <\/p>\n<h3>1. Comprueba si el error afecta al sitio completo<\/h3>\n<p>\n        Intenta acceder a:\n      <\/p>\n<ul>\n<li>La p\u00e1gina principal: <code>https:\/\/tudominio.com<\/code><\/li>\n<li>Una URL interna concreta<\/li>\n<li>El escritorio: <code>https:\/\/tudominio.com\/wp-admin\/<\/code><\/li>\n<li>El login: <code>https:\/\/tudominio.com\/wp-login.php<\/code><\/li>\n<\/ul>\n<p>\n        Si todo falla igual, el problema probablemente est\u00e1 en la conexi\u00f3n global. Si solo falla el admin o solo ciertas p\u00e1ginas, puede haber una corrupci\u00f3n parcial, un plugin conflictivo o una consulta pesada.\n      <\/p>\n<h3>2. Revisa si tu proveedor tiene incidencias<\/h3>\n<p>\n        Muchos proveedores de hosting tienen una p\u00e1gina de estado. Si el servidor MySQL est\u00e1 ca\u00eddo, no necesitas hero\u00edsmo t\u00e9cnico; necesitas esperar, abrir ticket y pedir informaci\u00f3n clara. A veces la soluci\u00f3n m\u00e1s profesional consiste en no tocar nada. Qu\u00e9 esc\u00e1ndalo.\n      <\/p>\n<h3>3. Realiza una copia de seguridad si tienes acceso<\/h3>\n<p>\n        Si puedes entrar a cPanel, Plesk, phpMyAdmin, el panel del hosting o usar SSH, descarga:\n      <\/p>\n<ul>\n<li>Archivos del sitio, especialmente <code>wp-config.php<\/code> y <code>wp-content<\/code>.<\/li>\n<li>Exportaci\u00f3n de la base de datos en formato <code>.sql<\/code>.<\/li>\n<li>Registro de errores si est\u00e1 disponible.<\/li>\n<\/ul>\n<p>        <strong>Importante:<\/strong> si sospechas que la base de datos est\u00e1 da\u00f1ada, evita ejecutar reparaciones agresivas sin backup. Reparar sin copia es como operar con los ojos cerrados porque \u201ctotal, el paciente parec\u00eda fuerte\u201d.<\/p>\n<\/section>\n<section id=\"diagnostico-rapido\">\n<h2>Diagn\u00f3stico r\u00e1pido: ruta pr\u00e1ctica para recuperar tu WordPress<\/h2>\n<p>\n        Si necesitas actuar con orden, sigue esta secuencia. No es la \u00fanica posible, pero reduce errores y evita saltar de una hip\u00f3tesis a otra como quien busca las llaves en todas las habitaciones menos en la mesa.\n      <\/p>\n<ol>\n<li><strong>Comprueba el estado del hosting<\/strong>: servidor web, MySQL\/MariaDB, almacenamiento y l\u00edmites.<\/li>\n<li><strong>Revisa <code>wp-config.php<\/code><\/strong>: nombre de base de datos, usuario, contrase\u00f1a y host.<\/li>\n<li><strong>Verifica que la base de datos existe<\/strong> desde phpMyAdmin, Adminer, cPanel, Plesk o l\u00ednea de comandos.<\/li>\n<li><strong>Comprueba privilegios del usuario MySQL<\/strong>: debe poder leer, escribir, modificar y eliminar tablas seg\u00fan las necesidades de WordPress.<\/li>\n<li><strong>Revisa logs<\/strong>: errores PHP, MySQL y registros del servidor.<\/li>\n<li><strong>Eval\u00faa corrupci\u00f3n de tablas<\/strong>: especialmente si el error surgi\u00f3 tras un apag\u00f3n, migraci\u00f3n o actualizaci\u00f3n fallida.<\/li>\n<li><strong>Desactiva plugins si hay indicios<\/strong>: sobre todo plugins de cach\u00e9, seguridad, optimizaci\u00f3n o consultas pesadas.<\/li>\n<li><strong>Escala al hosting<\/strong> si hay saturaci\u00f3n, l\u00edmites de conexiones o ca\u00edda del servicio MySQL.<\/li>\n<\/ol>\n<p>        <strong>Atajo profesional:<\/strong> si el error apareci\u00f3 justo despu\u00e9s de una migraci\u00f3n, empieza por <code>wp-config.php<\/code> y el valor de <code>DB_HOST<\/code>. Si apareci\u00f3 sin tocar nada durante un pico de visitas, mira recursos, conexiones MySQL y logs.<\/p>\n<\/section>\n<section id=\"wp-config\">\n<h2>Revisar wp-config.php: el peque\u00f1o archivo que decide mucho<\/h2>\n<p>\n        El archivo <code>wp-config.php<\/code> est\u00e1 en la ra\u00edz de la instalaci\u00f3n de WordPress. All\u00ed se guardan los datos de conexi\u00f3n con la base de datos. Es discreto, casi t\u00edmido, pero gobierna el acceso a todo el contenido.\n      <\/p>\n<p>Las l\u00edneas principales son estas:<\/p>\n<pre><code>define( 'DB_NAME', 'nombre_de_la_base_de_datos' );\ndefine( 'DB_USER', 'usuario_de_mysql' );\ndefine( 'DB_PASSWORD', 'contrase\u00f1a_del_usuario' );\ndefine( 'DB_HOST', 'localhost' );<\/code><\/pre>\n<h3>Qu\u00e9 comprobar en cada valor<\/h3>\n<ul>\n<li>\n          <strong><code>DB_NAME<\/code>:<\/strong> debe coincidir exactamente con el nombre de la base de datos asignada a tu WordPress. En muchos hostings compartidos incluye prefijos, por ejemplo <code>usuario_wp123<\/code>.\n        <\/li>\n<li>\n          <strong><code>DB_USER<\/code>:<\/strong> es el usuario MySQL, no necesariamente el usuario del panel de hosting.\n        <\/li>\n<li>\n          <strong><code>DB_PASSWORD<\/code>:<\/strong> debe ser exacta. Atenci\u00f3n a espacios al copiar, caracteres especiales, comillas y s\u00edmbolos.\n        <\/li>\n<li>\n          <strong><code>DB_HOST<\/code>:<\/strong> en muchos servidores es <code>localhost<\/code>, pero no siempre. Algunos proveedores usan hosts como <code>127.0.0.1<\/code>, una IP privada, <code>mysql.tudominio.com<\/code> o un endpoint espec\u00edfico.\n        <\/li>\n<\/ul>\n<h3>C\u00f3mo confirmar los datos correctos<\/h3>\n<p>\n        Puedes verificarlos desde el panel del hosting. En cPanel, normalmente est\u00e1n en <strong>MySQL Databases<\/strong> o <strong>Bases de datos MySQL<\/strong>. En Plesk, en <strong>Databases<\/strong>. En proveedores gestionados, suele haber una secci\u00f3n llamada <strong>Database access<\/strong>, <strong>Environment details<\/strong> o similar.\n      <\/p>\n<p>\n        Si tienes SSH, puedes probar la conexi\u00f3n con:\n      <\/p>\n<pre><code>mysql -u usuario_de_mysql -p -h localhost nombre_de_la_base_de_datos<\/code><\/pre>\n<p>\n        Si el host no es <code>localhost<\/code>, sustit\u00fayelo por el valor correspondiente:\n      <\/p>\n<pre><code>mysql -u usuario_de_mysql -p -h host_de_mysql nombre_de_la_base_de_datos<\/code><\/pre>\n<p>\n        Si la conexi\u00f3n falla con un mensaje como <code>Access denied<\/code>, el problema suele estar en el usuario, la contrase\u00f1a o los privilegios. Si aparece algo parecido a <code>Can't connect to MySQL server<\/code>, mira el host, el puerto o el estado del servidor.\n      <\/p>\n<p>        <strong>Seguridad:<\/strong> no compartas capturas de <code>wp-config.php<\/code> en tickets p\u00fablicos, foros o chats sin ocultar contrase\u00f1as, salts y credenciales. Ese archivo es una llave maestra; tratarlo como una servilleta ser\u00eda, digamos, poco visionario.<\/p>\n<\/section>\n<section id=\"permisos\">\n<h2>Verificar permisos del usuario de la base de datos<\/h2>\n<p>\n        A veces el usuario y la contrase\u00f1a son correctos, pero el usuario no tiene permisos suficientes sobre la base de datos. Es una situaci\u00f3n especialmente com\u00fan despu\u00e9s de migrar un sitio o recrear usuarios MySQL.\n      <\/p>\n<p>\n        WordPress necesita, como m\u00ednimo, permisos para consultar e insertar datos. En una instalaci\u00f3n normal tambi\u00e9n requiere permisos para actualizar, eliminar, crear y modificar tablas durante actualizaciones, instalaci\u00f3n de plugins o cambios estructurales.\n      <\/p>\n<p>Privilegios habituales:<\/p>\n<ul>\n<li><code>SELECT<\/code><\/li>\n<li><code>INSERT<\/code><\/li>\n<li><code>UPDATE<\/code><\/li>\n<li><code>DELETE<\/code><\/li>\n<li><code>CREATE<\/code><\/li>\n<li><code>ALTER<\/code><\/li>\n<li><code>INDEX<\/code><\/li>\n<li><code>DROP<\/code>, con prudencia y solo si corresponde<\/li>\n<\/ul>\n<p>\n        En cPanel, entra en <strong>MySQL Databases<\/strong>, busca la secci\u00f3n de usuarios asociados a bases de datos y revisa <strong>Manage User Privileges<\/strong>. En Plesk, entra en la base de datos y revisa el usuario asociado.\n      <\/p>\n<\/section>\n<section id=\"servidor-db\">\n<h2>Comprobar si MySQL o MariaDB est\u00e1n ca\u00eddos<\/h2>\n<p>\n        WordPress suele usar MySQL o MariaDB como motor de base de datos. Si el servicio est\u00e1 detenido, sobrecargado o inaccesible, da igual que tus credenciales sean perfectas: la puerta no abre porque no hay nadie al otro lado.\n      <\/p>\n<h3>Se\u00f1ales de que el servidor de base de datos falla<\/h3>\n<ul>\n<li>El error aparece en varios sitios alojados en la misma cuenta o servidor.<\/li>\n<li>phpMyAdmin no carga o muestra errores de conexi\u00f3n.<\/li>\n<li>El panel de hosting indica problemas de MySQL\/MariaDB.<\/li>\n<li>El error es intermitente: aparece, desaparece y vuelve como una nube mal educada.<\/li>\n<li>Hay errores del tipo <code>Too many connections<\/code>, <code>MySQL server has gone away<\/code> o <code>Connection refused<\/code>.<\/li>\n<\/ul>\n<h3>Comandos \u00fatiles si tienes acceso SSH<\/h3>\n<p>\n        En servidores propios o VPS, puedes comprobar el estado del servicio:\n      <\/p>\n<pre><code>systemctl status mysql<\/code><\/pre>\n<p>O, en algunos sistemas:<\/p>\n<pre><code>systemctl status mariadb<\/code><\/pre>\n<p>Para reiniciarlo:<\/p>\n<pre><code>sudo systemctl restart mysql<\/code><\/pre>\n<p>O:<\/p>\n<pre><code>sudo systemctl restart mariadb<\/code><\/pre>\n<p>        <strong>Precauci\u00f3n:<\/strong> reiniciar MySQL en producci\u00f3n puede afectar a otros sitios y procesos. Si est\u00e1s en hosting compartido, no podr\u00e1s hacerlo t\u00fa. Si est\u00e1s en un VPS con clientes, tiendas o campa\u00f1as activas, coordina la intervenci\u00f3n.<\/p>\n<h3>Revisar logs de MySQL<\/h3>\n<p>\n        Seg\u00fan la distribuci\u00f3n y configuraci\u00f3n, los logs pueden encontrarse en rutas como:\n      <\/p>\n<pre><code>\/var\/log\/mysql\/error.log\n\/var\/log\/mysqld.log\n\/var\/log\/mariadb\/mariadb.log<\/code><\/pre>\n<p>\n        Busca mensajes relacionados con falta de memoria, tablas corruptas, disco lleno, reinicios inesperados o demasiadas conexiones. Los logs son aburridos hasta que salvan una web. Entonces parecen literatura forense.\n      <\/p>\n<\/section>\n<section id=\"reparar-db\">\n<h2>Reparar una base de datos da\u00f1ada en WordPress<\/h2>\n<p>\n        Una base de datos puede corromperse por cortes de energ\u00eda, fallos de disco, migraciones incompletas, procesos interrumpidos, errores del servidor o actualizaciones que se quedaron a medio camino. No es lo m\u00e1s habitual, pero ocurre. Y cuando ocurre, WordPress puede mostrar el error de conexi\u00f3n o mensajes relacionados con tablas da\u00f1adas.\n      <\/p>\n<h3>Opci\u00f3n 1: reparaci\u00f3n integrada de WordPress<\/h3>\n<p>\n        WordPress incluye una herramienta de reparaci\u00f3n que puede activarse temporalmente. A\u00f1ade esta l\u00ednea al archivo <code>wp-config.php<\/code>, preferiblemente justo antes de la l\u00ednea que dice que dejes de editar:\n      <\/p>\n<pre><code>define( 'WP_ALLOW_REPAIR', true );<\/code><\/pre>\n<p>\n        Despu\u00e9s visita:\n      <\/p>\n<pre><code>https:\/\/tudominio.com\/wp-admin\/maint\/repair.php<\/code><\/pre>\n<p>\n        Ver\u00e1s dos opciones:\n      <\/p>\n<ul>\n<li><strong>Reparar base de datos<\/strong><\/li>\n<li><strong>Reparar y optimizar base de datos<\/strong><\/li>\n<\/ul>\n<p>\n        Ejecuta primero la reparaci\u00f3n. La optimizaci\u00f3n puede ser \u00fatil, pero no conviene convertirla en superstici\u00f3n de mantenimiento. Una base de datos no se vuelve mejor porque la optimices cada martes con fe medieval.\n      <\/p>\n<p>        <strong>Muy importante:<\/strong> elimina la l\u00ednea <code>define( 'WP_ALLOW_REPAIR', true );<\/code> cuando termines. La p\u00e1gina de reparaci\u00f3n no requiere iniciar sesi\u00f3n mientras esa constante est\u00e9 activa.<\/p>\n<h3>Opci\u00f3n 2: reparaci\u00f3n desde phpMyAdmin<\/h3>\n<p>\n        Si tienes acceso a phpMyAdmin:\n      <\/p>\n<ol>\n<li>Selecciona la base de datos de WordPress.<\/li>\n<li>Marca las tablas afectadas o todas si no est\u00e1s seguro.<\/li>\n<li>En el desplegable de acciones, elige <strong>Repair table<\/strong> o <strong>Reparar tabla<\/strong>.<\/li>\n<\/ol>\n<p>\n        Ten en cuenta que la reparaci\u00f3n depende del motor de almacenamiento. Muchas tablas modernas usan InnoDB, y su recuperaci\u00f3n puede requerir procedimientos distintos a las antiguas tablas MyISAM.\n      <\/p>\n<h3>Opci\u00f3n 3: reparaci\u00f3n con WP-CLI<\/h3>\n<p>\n        Si tu hosting permite WP-CLI, puedes probar:\n      <\/p>\n<pre><code>wp db check<\/code><\/pre>\n<p>Y despu\u00e9s:<\/p>\n<pre><code>wp db repair<\/code><\/pre>\n<p>\n        WP-CLI es una herramienta magn\u00edfica para administradores y desarrolladores: directa, r\u00e1pida, sin decorados. Como una navaja bien afilada. Conviene saber d\u00f3nde se pone el dedo.\n      <\/p>\n<\/section>\n<section id=\"plugins-temas\">\n<h2>\u00bfPuede un plugin causar este error?<\/h2>\n<p>\n        S\u00ed, aunque con matices. Un plugin rara vez cambia las credenciales de la base de datos por arte de magia, salvo que estemos ante una configuraci\u00f3n muy mala o un incidente de seguridad. Pero s\u00ed puede generar consultas pesadas, bloquear procesos, agotar recursos, disparar conexiones o provocar errores durante actualizaciones.\n      <\/p>\n<p>\n        Plugins de cach\u00e9, constructores visuales, seguridad, estad\u00edsticas, b\u00fasqueda avanzada, importadores masivos y extensiones de WooCommerce pueden aumentar la carga sobre la base de datos. No porque sean malos en s\u00ed mismos; una herramienta potente no es culpable de que la usen como martillo, br\u00fajula y paraguas al mismo tiempo.\n      <\/p>\n<h3>C\u00f3mo desactivar plugins sin acceder al escritorio<\/h3>\n<p>\n        Si no puedes entrar a <code>wp-admin<\/code>, accede por FTP, SFTP o el administrador de archivos del hosting y renombra la carpeta:\n      <\/p>\n<pre><code>\/wp-content\/plugins\/<\/code><\/pre>\n<p>\n        Por ejemplo:\n      <\/p>\n<pre><code>\/wp-content\/plugins_desactivados\/<\/code><\/pre>\n<p>\n        Esto desactiva todos los plugins. Si la web vuelve, restaura el nombre original y ve renombrando plugin por plugin hasta encontrar el responsable.\n      <\/p>\n<h3>Desactivar solo un plugin sospechoso<\/h3>\n<p>\n        Si el problema apareci\u00f3 tras activar o actualizar uno concreto, renombra su carpeta:\n      <\/p>\n<pre><code>\/wp-content\/plugins\/nombre-del-plugin\/<\/code><\/pre>\n<p>\n        A:\n      <\/p>\n<pre><code>\/wp-content\/plugins\/nombre-del-plugin_off\/<\/code><\/pre>\n<\/section>\n<section id=\"hosting\">\n<h2>Hosting, recursos y l\u00edmites: cuando el problema no est\u00e1 en WordPress<\/h2>\n<p>\n        Hay errores que no nacen dentro de WordPress, aunque WordPress sea quien da la cara. El hosting barato puede funcionar dignamente para un blog peque\u00f1o; tambi\u00e9n puede temblar como una ventana vieja cuando recibe tr\u00e1fico, tareas cron, WooCommerce, copias de seguridad, bots y un plugin de estad\u00edsticas contando hasta el \u00faltimo suspiro.\n      <\/p>\n<h3>L\u00edmite de conexiones MySQL<\/h3>\n<p>\n        Muchos planes de hosting limitan las conexiones simult\u00e1neas a la base de datos. Si se alcanza el l\u00edmite, nuevas solicitudes fallan y el visitante ve el error. En logs puede aparecer:\n      <\/p>\n<pre><code>Too many connections<\/code><\/pre>\n<p>\n        Esto es frecuente en sitios con:\n      <\/p>\n<ul>\n<li>Tr\u00e1fico elevado sin cach\u00e9 adecuada.<\/li>\n<li>WooCommerce con muchas consultas din\u00e1micas.<\/li>\n<li>Bots agresivos rastreando p\u00e1ginas internas.<\/li>\n<li>Plugins que consultan la base de datos en cada carga.<\/li>\n<li>Consultas lentas sin \u00edndices adecuados.<\/li>\n<li>Cron jobs ejecut\u00e1ndose demasiado a menudo.<\/li>\n<\/ul>\n<h3>Disco lleno<\/h3>\n<p>\n        Un servidor sin espacio puede impedir que MySQL escriba datos temporales o mantenga operaciones normales. Comprueba el uso de disco desde el panel de hosting o con:\n      <\/p>\n<pre><code>df -h<\/code><\/pre>\n<p>\n        Si el disco est\u00e1 al 100%, limpia backups antiguos, logs enormes, cach\u00e9s, archivos temporales y exportaciones olvidadas. He visto carpetas de copias de seguridad m\u00e1s pobladas que un archivo municipal; nadie las miraba, pero todas cobraban alquiler en gigabytes.\n      <\/p>\n<h3>Memoria insuficiente<\/h3>\n<p>\n        Cuando el servidor no tiene suficiente RAM, MySQL puede cerrarse o reiniciarse. En un VPS, revisa:\n      <\/p>\n<pre><code>free -m<\/code><\/pre>\n<p>\n        Y los procesos activos:\n      <\/p>\n<pre><code>top<\/code><\/pre>\n<p>\n        O:\n      <\/p>\n<pre><code>htop<\/code><\/pre>\n<h3>Consultas lentas<\/h3>\n<p>\n        Activar el slow query log en MySQL ayuda a detectar consultas que consumen demasiado. En WordPress, plugins como Query Monitor pueden orientar en entornos donde el sitio todav\u00eda carga. En producci\u00f3n, \u00fasalo con prudencia y desact\u00edvalo cuando termines de diagnosticar.\n      <\/p>\n<p>        <strong>Recomendaci\u00f3n profesional:<\/strong> para sitios con WooCommerce, membres\u00edas, LMS o mucho tr\u00e1fico, conviene usar hosting gestionado de calidad, cach\u00e9 de objetos con Redis\/Memcached si procede, CDN y una estrategia de optimizaci\u00f3n real. No todo se arregla instalando otro plugin; a veces el incendio no necesita una vela m\u00e1s.<\/p>\n<\/section>\n<section id=\"migraciones\">\n<h2>El error despu\u00e9s de una migraci\u00f3n: el sospechoso habitual \ud83d\ude9a<\/h2>\n<p>\n        Las migraciones son terreno f\u00e9rtil para este fallo. Cambia el servidor, cambia el nombre de la base de datos, cambia el usuario, cambia el host, cambia la versi\u00f3n de PHP, cambia MySQL. Y luego nos sorprende que WordPress, criatura sensible, se niegue a conversar.\n      <\/p>\n<h3>Lista de verificaci\u00f3n tras migrar WordPress<\/h3>\n<ul>\n<li>\u2705 La base de datos fue importada completamente, sin errores ni cortes.<\/li>\n<li>\u2705 El archivo <code>wp-config.php<\/code> apunta a la base de datos nueva.<\/li>\n<li>\u2705 El usuario MySQL est\u00e1 asignado a esa base de datos.<\/li>\n<li>\u2705 La contrase\u00f1a coincide con la definida en el servidor nuevo.<\/li>\n<li>\u2705 El valor de <code>DB_HOST<\/code> es el indicado por el proveedor.<\/li>\n<li>\u2705 La versi\u00f3n de MySQL\/MariaDB es compatible con tu versi\u00f3n de WordPress.<\/li>\n<li>\u2705 No hay prefijos de tabla incorrectos en <code>$table_prefix<\/code>.<\/li>\n<li>\u2705 Los permisos de archivos no impiden que WordPress lea <code>wp-config.php<\/code>.<\/li>\n<\/ul>\n<p>\n        Revisa tambi\u00e9n esta l\u00ednea:\n      <\/p>\n<pre><code>$table_prefix = 'wp_';<\/code><\/pre>\n<p>\n        Si tu base de datos usa otro prefijo, como <code>abc_<\/code>, <code>wpsite_<\/code> o uno personalizado, WordPress puede conectar, pero no encontrar las tablas esperadas. En ese caso quiz\u00e1 no ver\u00e1s exactamente el mismo error, pero s\u00ed comportamientos extra\u00f1os.\n      <\/p>\n<\/section>\n<section id=\"wp-admin-diferente\">\n<h2>Cuando el sitio muestra un error y wp-admin muestra otro<\/h2>\n<p>\n        A veces la parte p\u00fablica ense\u00f1a el error de conexi\u00f3n, pero al entrar en <code>\/wp-admin\/<\/code> aparece un mensaje parecido a:\n      <\/p>\n<pre><code>One or more database tables are unavailable. The database may need to be repaired.<\/code><\/pre>\n<p>\n        Esto sugiere que WordPress puede conectarse parcialmente, pero algunas tablas est\u00e1n da\u00f1adas o inaccesibles. En ese caso, la herramienta de reparaci\u00f3n de WordPress, phpMyAdmin o WP-CLI cobran sentido.\n      <\/p>\n<p>\n        Tambi\u00e9n puede ocurrir lo contrario: el frontend carga por cach\u00e9, pero el admin falla. Es una ant\u00edtesis curiosa: la fachada viva, la trastienda muda. Los visitantes ven una versi\u00f3n almacenada, mientras el gestor se queda sin acceso a la maquinaria real.\n      <\/p>\n<\/section>\n<section id=\"debug\">\n<h2>Activar depuraci\u00f3n sin exponer informaci\u00f3n sensible<\/h2>\n<p>\n        Para investigar errores, WordPress permite activar el modo debug. En <code>wp-config.php<\/code>, puedes configurar:\n      <\/p>\n<pre><code>define( 'WP_DEBUG', true );\ndefine( 'WP_DEBUG_LOG', true );\ndefine( 'WP_DEBUG_DISPLAY', false );<\/code><\/pre>\n<p>\n        Con esto, los errores se guardar\u00e1n normalmente en:\n      <\/p>\n<pre><code>\/wp-content\/debug.log<\/code><\/pre>\n<p>\n        La opci\u00f3n <code>WP_DEBUG_DISPLAY<\/code> en <code>false<\/code> evita mostrar errores t\u00e9cnicos a los visitantes. Es especialmente importante en producci\u00f3n, porque los mensajes pueden revelar rutas internas, nombres de archivos o informaci\u00f3n \u00fatil para atacantes.\n      <\/p>\n<p>        <strong>No dejes debug activo indefinidamente.<\/strong> Un archivo <code>debug.log<\/code> puede crecer mucho y contener datos sensibles. \u00dasalo para diagnosticar, desc\u00e1rgalo si hace falta y desact\u00edvalo despu\u00e9s.<\/p>\n<\/section>\n<section id=\"seguridad\">\n<h2>\u00bfY si el problema es un ataque o una intrusi\u00f3n? \ud83d\udee1\ufe0f<\/h2>\n<p>\n        No todos los errores de base de datos son ataques. De hecho, la mayor\u00eda no lo son. Pero ignorar la posibilidad ser\u00eda ingenuo, esa forma elegante de invitar al desastre a tomar caf\u00e9.\n      <\/p>\n<p>\n        Un atacante podr\u00eda modificar <code>wp-config.php<\/code>, crear usuarios administrativos, alterar tablas, inyectar spam, consumir recursos con scripts maliciosos o provocar que el servidor agote conexiones. Tambi\u00e9n puede ocurrir que bots automatizados saturen el sitio intentando acceder a <code>wp-login.php<\/code>, <code>xmlrpc.php<\/code> o rutas vulnerables de plugins antiguos.\n      <\/p>\n<h3>Se\u00f1ales sospechosas<\/h3>\n<ul>\n<li>Archivos recientes que no reconoces en <code>wp-content<\/code>, ra\u00edz del sitio o carpetas de plugins.<\/li>\n<li>Usuarios administradores desconocidos.<\/li>\n<li>Cambios inesperados en <code>wp-config.php<\/code>.<\/li>\n<li>Redirecciones extra\u00f1as hacia dominios externos.<\/li>\n<li>Picos de CPU o conexiones sin explicaci\u00f3n.<\/li>\n<li>Plugins o temas nulled, pirateados o descargados de fuentes dudosas.<\/li>\n<li>Alertas del hosting por malware, phishing o spam.<\/li>\n<\/ul>\n<h3>Qu\u00e9 hacer si sospechas una intrusi\u00f3n<\/h3>\n<ol>\n<li>Pon el sitio en mantenimiento si est\u00e1 sirviendo contenido malicioso.<\/li>\n<li>Cambia contrase\u00f1as: hosting, FTP\/SFTP, base de datos, administradores WordPress y correo asociado.<\/li>\n<li>Revisa usuarios administradores y elimina los desconocidos.<\/li>\n<li>Actualiza WordPress, plugins y temas desde fuentes oficiales.<\/li>\n<li>Elimina plugins y temas inactivos que no necesites.<\/li>\n<li>Escanea archivos con herramientas de seguridad reputadas.<\/li>\n<li>Compara archivos del n\u00facleo con versiones limpias.<\/li>\n<li>Restaura desde una copia limpia si la infecci\u00f3n es amplia.<\/li>\n<\/ol>\n<p>\n        En sitios cr\u00edticos, especialmente tiendas online, plataformas educativas o webs con datos personales, conviene recurrir a especialistas en limpieza de malware y endurecimiento de WordPress. La seguridad no es un amuleto instalado en forma de plugin; es una disciplina.\n      <\/p>\n<\/section>\n<section id=\"woocommerce\">\n<h2>Casos especiales: WooCommerce, membres\u00edas y sitios din\u00e1micos<\/h2>\n<p>\n        En un blog con cach\u00e9 est\u00e1tica, muchas visitas pueden servirse sin tocar demasiado la base de datos. En una tienda WooCommerce, en cambio, el carrito, el checkout, las sesiones, el inventario, los cupones y los pedidos viven en un flujo din\u00e1mico constante. La base de datos trabaja m\u00e1s. Mucho m\u00e1s.\n      <\/p>\n<p>\n        Si el error de conexi\u00f3n aparece durante promociones, campa\u00f1as de email, lanzamientos o temporadas de venta, revisa:\n      <\/p>\n<ul>\n<li>Capacidad real del hosting.<\/li>\n<li>Consultas lentas generadas por filtros, b\u00fasquedas o plugins de productos.<\/li>\n<li>Acciones programadas acumuladas en WooCommerce.<\/li>\n<li>Tabla <code>wp_options<\/code> sobrecargada con autoload excesivo.<\/li>\n<li>Cron de WordPress ejecut\u00e1ndose en cada visita.<\/li>\n<li>Falta de cach\u00e9 de objetos persistente.<\/li>\n<li>Bots a\u00f1adiendo productos al carrito o rastreando par\u00e1metros infinitos.<\/li>\n<\/ul>\n<h3>Revisar autoload en wp_options<\/h3>\n<p>\n        La tabla <code>wp_options<\/code> contiene ajustes importantes. Algunas opciones cargan autom\u00e1ticamente en cada petici\u00f3n. Si hay demasiados datos con <code>autoload<\/code> activado, el sitio se vuelve pesado como abrigo mojado.\n      <\/p>\n<p>Consulta orientativa:<\/p>\n<pre><code>SELECT SUM(LENGTH(option_value)) AS autoload_size\nFROM wp_options\nWHERE autoload = 'yes';<\/code><\/pre>\n<p>\n        En instalaciones recientes, WordPress puede usar valores de autoload distintos seg\u00fan versi\u00f3n y contexto, pero la idea sigue siendo \u00fatil: medir cu\u00e1nto se carga de forma autom\u00e1tica. Si el tama\u00f1o es muy alto, revisa opciones obsoletas de plugins eliminados, transients acumulados y configuraciones innecesarias.\n      <\/p>\n<p>        <strong>Para WooCommerce:<\/strong> no limpies tablas ni opciones a ciegas. Un borrado impulsivo puede afectar pedidos, suscripciones, sesiones o impuestos. Primero copia, luego analiza, despu\u00e9s act\u00faa.<\/p>\n<\/section>\n<section id=\"multisite\">\n<h2>WordPress Multisite: m\u00e1s capas, m\u00e1s cuidado<\/h2>\n<p>\n        En WordPress Multisite, una sola instalaci\u00f3n puede manejar varios sitios. Esto a\u00f1ade complejidad: m\u00e1s tablas, m\u00e1s prefijos, m\u00e1s configuraciones y, a veces, m\u00e1s posibilidades de confusi\u00f3n durante migraciones.\n      <\/p>\n<p>\n        Adem\u00e1s de las constantes habituales de base de datos, revisa valores como:\n      <\/p>\n<pre><code>define( 'MULTISITE', true );\ndefine( 'SUBDOMAIN_INSTALL', true );\ndefine( 'DOMAIN_CURRENT_SITE', 'tudominio.com' );\ndefine( 'PATH_CURRENT_SITE', '\/' );\ndefine( 'SITE_ID_CURRENT_SITE', 1 );\ndefine( 'BLOG_ID_CURRENT_SITE', 1 );<\/code><\/pre>\n<p>\n        Un error de conexi\u00f3n puro seguir\u00e1 apuntando a credenciales, host, servidor o base da\u00f1ada. Pero en multisite, una migraci\u00f3n parcial puede generar s\u00edntomas que se parecen a errores de base de datos aunque el problema real est\u00e9 en dominios, rutas o tablas espec\u00edficas.\n      <\/p>\n<\/section>\n<section id=\"versiones\">\n<h2>Compatibilidad: versiones de PHP, WordPress y base de datos<\/h2>\n<p>\n        WordPress mantiene requisitos t\u00e9cnicos que evolucionan. Conviene revisar siempre la documentaci\u00f3n oficial de WordPress para confirmar las versiones recomendadas de PHP y base de datos, porque lo que ayer era aceptable ma\u00f1ana puede ser una reliquia con credenciales.\n      <\/p>\n<p>\n        Como criterio profesional:\n      <\/p>\n<ul>\n<li>Usa una versi\u00f3n de PHP compatible y mantenida.<\/li>\n<li>Mant\u00e9n WordPress actualizado.<\/li>\n<li>Utiliza MySQL o MariaDB en versiones soportadas por tu proveedor y compatibles con WordPress.<\/li>\n<li>Evita servidores abandonados sin parches de seguridad.<\/li>\n<li>Antes de actualizar versiones mayores, prueba en staging.<\/li>\n<\/ul>\n<p>\n        La tecnolog\u00eda envejece de forma desigual. Un tema puede seguir vi\u00e9ndose moderno mientras su c\u00f3digo arrastra funciones obsoletas como monedas en el bolsillo. Bonito por fuera, problem\u00e1tico por dentro.\n      <\/p>\n<\/section>\n<section id=\"solucion-por-escenario\">\n<h2>Soluciones seg\u00fan el escenario<\/h2>\n<h3>Escenario 1: cambiaste la contrase\u00f1a de la base de datos<\/h3>\n<p>\n        Actualiza <code>DB_PASSWORD<\/code> en <code>wp-config.php<\/code>. Aseg\u00farate de no dejar espacios antes o despu\u00e9s de la contrase\u00f1a. Si el panel gener\u00f3 una contrase\u00f1a con caracteres especiales, c\u00f3piala con cuidado.\n      <\/p>\n<h3>Escenario 2: migraste el sitio a otro hosting<\/h3>\n<p>\n        Revisa <code>DB_NAME<\/code>, <code>DB_USER<\/code>, <code>DB_PASSWORD<\/code>, <code>DB_HOST<\/code> y <code>$table_prefix<\/code>. Confirma tambi\u00e9n que la base se import\u00f3 completa y que el usuario tiene privilegios.\n      <\/p>\n<h3>Escenario 3: el error aparece solo a ratos<\/h3>\n<p>\n        Sospecha de l\u00edmites de recursos, conexiones MySQL, tr\u00e1fico, bots, consultas lentas o ca\u00eddas intermitentes del servidor. Revisa m\u00e9tricas del hosting y logs. Si ocurre en horas punta, no es casualidad: los servidores tambi\u00e9n tienen hora de la verdad.\n      <\/p>\n<h3>Escenario 4: el admin indica tablas da\u00f1adas<\/h3>\n<p>\n        Haz backup y ejecuta la reparaci\u00f3n de WordPress, phpMyAdmin o WP-CLI. Si las tablas son InnoDB y el da\u00f1o persiste, contacta con el hosting o un administrador de sistemas.\n      <\/p>\n<h3>Escenario 5: phpMyAdmin tampoco conecta<\/h3>\n<p>\n        El problema probablemente est\u00e1 en el servidor MySQL\/MariaDB, credenciales generales, permisos o servicio ca\u00eddo. Abre ticket con el proveedor y adjunta hora del fallo, dominio afectado y mensajes concretos.\n      <\/p>\n<h3>Escenario 6: el sitio fue hackeado<\/h3>\n<p>\n        Cambia credenciales, limpia archivos, revisa usuarios, actualiza todo y restaura desde una copia limpia si es necesario. No basta con recuperar la conexi\u00f3n; hay que cerrar la puerta que permiti\u00f3 el problema.\n      <\/p>\n<\/section>\n<section id=\"preguntas\">\n<h2>Preguntas frecuentes sobre el error de base de datos en WordPress<\/h2>\n<h3>\u00bfPerd\u00ed mi sitio si aparece este error?<\/h3>\n<p>\n        No necesariamente. En muchos casos, los archivos y la base de datos siguen intactos. El problema es la conexi\u00f3n entre WordPress y la base de datos. Primero verifica credenciales, host y estado del servidor.\n      <\/p>\n<h3>\u00bfPuedo arreglarlo sin conocimientos t\u00e9cnicos?<\/h3>\n<p>\n        Algunas comprobaciones b\u00e1sicas s\u00ed: revisar si el hosting est\u00e1 ca\u00eddo, restaurar una copia, comprobar credenciales desde el panel o contactar soporte. Pero editar <code>wp-config.php<\/code>, reparar tablas o tocar MySQL requiere cuidado. Si tu web genera ingresos, no improvises demasiado.\n      <\/p>\n<h3>\u00bfEl error afecta al SEO?<\/h3>\n<p>\n        Si dura poco, normalmente no tendr\u00e1 un impacto serio. Si se prolonga durante horas o d\u00edas, Googlebot puede encontrar el sitio ca\u00eddo, los usuarios rebotan y la reputaci\u00f3n t\u00e9cnica se resiente. Para SEO, disponibilidad, velocidad y estabilidad importan m\u00e1s de lo que algunos admiten.\n      <\/p>\n<h3>\u00bfUna cach\u00e9 puede ocultar el problema?<\/h3>\n<p>\n        S\u00ed. Un sistema de cach\u00e9 puede seguir sirviendo p\u00e1ginas est\u00e1ticas aunque la base de datos falle. Esto puede dar una falsa sensaci\u00f3n de normalidad. El admin, el carrito, formularios y \u00e1reas din\u00e1micas suelen revelar el problema antes.\n      <\/p>\n<h3>\u00bfDebo restaurar una copia de seguridad?<\/h3>\n<p>\n        Solo si identificas corrupci\u00f3n, cambios no deseados o una migraci\u00f3n fallida dif\u00edcil de reparar. Si el problema es una contrase\u00f1a incorrecta o MySQL ca\u00eddo, restaurar puede ser innecesario e incluso contraproducente.\n      <\/p>\n<h3>\u00bfQu\u00e9 debo enviar al soporte del hosting?<\/h3>\n<p>\n        Env\u00eda dominio afectado, hora aproximada del error, capturas sin credenciales, mensajes de logs, si phpMyAdmin conecta o no, y cualquier cambio reciente. Cuanto m\u00e1s preciso seas, menos recibir\u00e1s respuestas ceremoniales del tipo \u201chemos revisado y todo parece correcto\u201d.\n      <\/p>\n<\/section>\n<section id=\"prevencion\">\n<h2>C\u00f3mo evitar que el error vuelva a ocurrir \ud83d\udd12<\/h2>\n<p>\n        Resolver el error es urgente. Evitar su regreso es inteligente. Y hay una diferencia enorme entre apagar alarmas y revisar por qu\u00e9 la casa huele a humo.\n      <\/p>\n<h3>1. Mant\u00e9n copias de seguridad autom\u00e1ticas<\/h3>\n<p>\n        Programa backups de archivos y base de datos. Para webs con pocas actualizaciones, una copia diaria puede bastar. Para WooCommerce o sitios con registros frecuentes, considera copias m\u00e1s continuas o incrementales.\n      <\/p>\n<ul>\n<li>Guarda copias fuera del servidor principal.<\/li>\n<li>Prueba restauraciones peri\u00f3dicamente.<\/li>\n<li>No dependas de una sola herramienta.<\/li>\n<li>Conserva varias versiones hist\u00f3ricas.<\/li>\n<\/ul>\n<h3>2. Usa staging antes de cambios importantes<\/h3>\n<p>\n        Actualizaciones grandes, migraciones, cambios de PHP o sustituci\u00f3n de plugins cr\u00edticos deber\u00edan probarse en un entorno de staging. La producci\u00f3n no es un laboratorio; aunque, misteriosamente, muchas webs han sido tratadas como si lo fueran.\n      <\/p>\n<h3>3. Vigila recursos del servidor<\/h3>\n<p>\n        Monitoriza CPU, RAM, I\/O, uso de disco, conexiones MySQL y errores 5xx. Herramientas como New Relic, UptimeRobot, Better Stack, StatusCake, los monitores del hosting o sistemas propios pueden avisarte antes de que el usuario lo haga con un correo en may\u00fasculas.\n      <\/p>\n<h3>4. Optimiza la base de datos con criterio<\/h3>\n<p>\n        Limpia revisiones excesivas, transients caducados, tablas hu\u00e9rfanas y datos de plugins eliminados. Pero evita limpiezas autom\u00e1ticas agresivas sin revisar. Una base de datos es un archivo vivo, no un caj\u00f3n de cocina.\n      <\/p>\n<h3>5. Implementa cach\u00e9 correctamente<\/h3>\n<p>\n        Una buena estrategia de cach\u00e9 reduce consultas a la base de datos. Considera:\n      <\/p>\n<ul>\n<li>Cach\u00e9 de p\u00e1gina para contenido p\u00fablico.<\/li>\n<li>Cach\u00e9 de objetos persistente con Redis o Memcached cuando el hosting lo soporte.<\/li>\n<li>CDN para recursos est\u00e1ticos.<\/li>\n<li>Reglas espec\u00edficas para WooCommerce, carritos y usuarios logueados.<\/li>\n<\/ul>\n<h3>6. Mant\u00e9n WordPress, plugins y temas actualizados<\/h3>\n<p>\n        Las actualizaciones corrigen fallos de seguridad, compatibilidad y rendimiento. Eso s\u00ed: actualiza con m\u00e9todo. Primero copia, luego prueba, despu\u00e9s aplica. La valent\u00eda sin backup tiene otro nombre, menos elegante.\n      <\/p>\n<h3>7. Protege accesos y credenciales<\/h3>\n<ul>\n<li>Usa contrase\u00f1as \u00fanicas y robustas.<\/li>\n<li>Activa autenticaci\u00f3n de dos factores para administradores.<\/li>\n<li>Limita accesos FTP\/SFTP y elimina cuentas antiguas.<\/li>\n<li>No reutilices la contrase\u00f1a de la base de datos en otros servicios.<\/li>\n<li>Evita plugins y temas pirata.<\/li>\n<\/ul>\n<h3>8. Elige un hosting acorde al proyecto<\/h3>\n<p>\n        Un sitio corporativo peque\u00f1o no tiene las mismas necesidades que una tienda con miles de productos. La infraestructura debe acompa\u00f1ar al negocio. Lo barato puede ser suficiente; tambi\u00e9n puede salir caro justo cuando una campa\u00f1a empieza a funcionar. Hermosa iron\u00eda: ahorrar en hosting para perder ventas cuando por fin llegan visitas.\n      <\/p>\n<\/section>\n<section id=\"checklist-final\">\n<h2>Checklist profesional de recuperaci\u00f3n r\u00e1pida \u2705<\/h2>\n<p>\n        Si est\u00e1s frente al error ahora mismo, usa esta lista como mapa de intervenci\u00f3n:\n      <\/p>\n<ul>\n<li>\u2705 Confirmar si el error afecta frontend, admin o ambos.<\/li>\n<li>\u2705 Revisar p\u00e1gina de estado del hosting.<\/li>\n<li>\u2705 Hacer copia de archivos y base de datos si es posible.<\/li>\n<li>\u2705 Verificar <code>DB_NAME<\/code>, <code>DB_USER<\/code>, <code>DB_PASSWORD<\/code> y <code>DB_HOST<\/code>.<\/li>\n<li>\u2705 Comprobar que la base de datos existe.<\/li>\n<li>\u2705 Confirmar privilegios del usuario MySQL.<\/li>\n<li>\u2705 Probar conexi\u00f3n desde phpMyAdmin o l\u00ednea de comandos.<\/li>\n<li>\u2705 Revisar logs PHP y MySQL.<\/li>\n<li>\u2705 Reparar tablas si hay indicios de corrupci\u00f3n.<\/li>\n<li>\u2705 Desactivar plugins si el error apareci\u00f3 tras una actualizaci\u00f3n.<\/li>\n<li>\u2705 Revisar recursos: disco, RAM, CPU, conexiones y consultas lentas.<\/li>\n<li>\u2705 Investigar seguridad si hay cambios sospechosos.<\/li>\n<li>\u2705 Documentar la causa y aplicar medidas preventivas.<\/li>\n<\/ul>\n<\/section>\n<section id=\"cierre\">\n<h2>Cierre: una web no cae por magia<\/h2>\n<p>\n        El error de conexi\u00f3n a la base de datos en WordPress parece brutal porque corta el sitio de golpe. No avisa con delicadeza. No ofrece una disculpa. Simplemente aparece y deja al propietario frente a una pantalla blanca, como si todo el proyecto hubiera sido tragado por la niebla.\n      <\/p>\n<p>\n        Pero bajo esa apariencia dram\u00e1tica suele haber una causa concreta: credenciales equivocadas, servidor MySQL ca\u00eddo, permisos mal asignados, base da\u00f1ada, recursos agotados, migraci\u00f3n incompleta o una seguridad descuidada. El trabajo consiste en no dejarse hipnotizar por el mensaje y seguir el hilo con m\u00e9todo.\n      <\/p>\n<p>\n        WordPress es flexible, poderoso y a veces caprichoso; la base de datos es su memoria. Entre ambos hay una conversaci\u00f3n constante, silenciosa, tan invisible como el sistema de ra\u00edces que sostiene un \u00e1rbol. Cuando esa conversaci\u00f3n se interrumpe, la copa deja de moverse. La soluci\u00f3n no est\u00e1 en el p\u00e1nico, sino en mirar la ra\u00edz correcta.\n      <\/p>\n<p>\n        Y s\u00ed, puede que todo se arregle cambiando una contrase\u00f1a en <code>wp-config.php<\/code>. O puede que descubras que tu hosting llevaba meses respirando con dificultad. En ambos casos, el error habr\u00e1 cumplido una funci\u00f3n inc\u00f3moda pero \u00fatil: mostrarte qu\u00e9 parte de tu web necesitaba atenci\u00f3n antes de romperse del todo. A veces el mensajero llega tarde, despeinado y con malos modales. Pero trae informaci\u00f3n valiosa. \ud83d\udccc\n      <\/p>\n<\/section>\n<\/article>\n<p><\/main><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u00bfC\u00f3mo solucionar el error de conexi\u00f3n a la base de datos en WordPress? \ud83d\udee0\ufe0f Pocas<\/p>\n","protected":false},"author":1,"featured_media":3669,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_seopress_titles_title":"","_seopress_titles_desc":"","_seopress_robots_index":"","_seopress_robots_follow":"","_seopress_robots_imageindex":"","_seopress_robots_snippet":"","_seopress_robots_primary_cat":"","_seopress_robots_breadcrumbs":"","_seopress_robots_freeze_modified_date":"","_seopress_robots_custom_modified_date":"","_seopress_robots_canonical":"","_seopress_social_fb_title":"","_seopress_social_fb_desc":"","_seopress_social_fb_img":"","_seopress_social_fb_img_attachment_id":0,"_seopress_social_fb_img_width":0,"_seopress_social_fb_img_height":0,"_seopress_social_twitter_title":"","_seopress_social_twitter_desc":"","_seopress_social_twitter_img":"","_seopress_social_twitter_img_attachment_id":0,"_seopress_social_twitter_img_width":0,"_seopress_social_twitter_img_height":0,"_seopress_redirections_value":"","_seopress_redirections_enabled":"","_seopress_redirections_enabled_regex":"","_seopress_redirections_logged_status":"","_seopress_redirections_param":"","_seopress_redirections_type":0,"_seopress_analysis_target_kw":"","_seopress_news_disabled":"","_seopress_video_disabled":"","_seopress_video":[],"_seopress_pro_schemas_manual":[],"_seopress_pro_rich_snippets_disable_all":"","_seopress_pro_rich_snippets_disable":[],"_seopress_pro_schemas":[],"footnotes":""},"categories":[2],"tags":[],"class_list":["post-3670","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-mantenimiento"],"_links":{"self":[{"href":"https:\/\/mantenimientoweb.pro\/blog\/wp-json\/wp\/v2\/posts\/3670","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mantenimientoweb.pro\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mantenimientoweb.pro\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mantenimientoweb.pro\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mantenimientoweb.pro\/blog\/wp-json\/wp\/v2\/comments?post=3670"}],"version-history":[{"count":1,"href":"https:\/\/mantenimientoweb.pro\/blog\/wp-json\/wp\/v2\/posts\/3670\/revisions"}],"predecessor-version":[{"id":3671,"href":"https:\/\/mantenimientoweb.pro\/blog\/wp-json\/wp\/v2\/posts\/3670\/revisions\/3671"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/mantenimientoweb.pro\/blog\/wp-json\/wp\/v2\/media\/3669"}],"wp:attachment":[{"href":"https:\/\/mantenimientoweb.pro\/blog\/wp-json\/wp\/v2\/media?parent=3670"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mantenimientoweb.pro\/blog\/wp-json\/wp\/v2\/categories?post=3670"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mantenimientoweb.pro\/blog\/wp-json\/wp\/v2\/tags?post=3670"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}