{"id":25795,"date":"2026-05-27T10:00:00","date_gmt":"2026-05-27T08:00:00","guid":{"rendered":"https:\/\/soccorsowp.it\/blog\/?p=25795"},"modified":"2026-05-27T10:00:00","modified_gmt":"2026-05-27T08:00:00","slug":"errore-establishing-database-connection-wordpress","status":"publish","type":"post","link":"https:\/\/soccorsowp.it\/blog\/errore-establishing-database-connection-wordpress\/","title":{"rendered":"Come risolvere l&#8217;errore &#8220;Error Establishing a Database Connection&#8221; in WordPress"},"content":{"rendered":"<h1>Come risolvere l&#8217;errore &#8220;Error Establishing a Database Connection&#8221; in WordPress<\/h1>\n<p>L&#8217;errore <strong>&#8220;Error Establishing a Database Connection&#8221;<\/strong> \u00e8 uno dei pi\u00f9 temuti da chi gestisce un sito <a href=\"https:\/\/soccorsowp.it\/blog\/blocco-di-contenuti-opt-in-per-wordpress\/\">WordPress<\/a>. Quando compare, il sito mostra solo una pagina bianca con questo messaggio e la bacheca diventa inaccessibile. Il problema \u00e8 nella <a href=\"https:\/\/soccorsowp.it\/blog\/automattic-e-beeper-unalleanza-per-rivoluzionare-la-messaggistica\/\">comunicazione<\/a> tra WordPress e il database MySQL. In questa guida ti spiego le cause principali e come risolvere passo dopo passo.<\/p>\n<h2>Cosa significa questo errore<\/h2>\n<p>WordPress salva tutti i contenuti (articoli, pagine, impostazioni, utenti) in un database MySQL. Ogni volta che un visitatore apre una pagina, WordPress si connette al database per recuperare i dati. L&#8217;errore <strong>&#8220;Error Establishing a Database Connection&#8221;<\/strong> indica che WordPress non riesce a stabilire questa connessione. Le cause possono essere diverse: credenziali errate, server MySQL spento, database corrotto o server sovraccarico.<\/p>\n<h2>Verificare le credenziali nel wp-config.php<\/h2>\n<p>La causa pi\u00f9 frequente sono le <strong>credenziali del database errate<\/strong> nel file <span style=\"font-family: monospace\">wp-config.php<\/span>. Apri il file via FTP o SSH e controlla queste quattro righe:<\/p>\n<pre>define('DB_NAME', 'nome_database');\ndefine('DB_USER', 'utente_database');\ndefine('DB_PASSWORD', 'password_database');\ndefine('DB_HOST', 'localhost');<\/pre>\n<p>Verifica che ogni valore corrisponda alle credenziali reali del tuo database. Errori comuni includono password cambiate dal pannello hosting senza aggiornare wp-config.php, spazi extra prima o dopo i valori e caratteri speciali nella password che richiedono l&#8217;escape. Se non sei sicuro delle credenziali corrette, accedi al pannello di controllo del tuo hosting e controlla i dettagli del database nella sezione &#8220;Database&#8221;.<\/p>\n<h2>Verificare che il server MySQL sia attivo<\/h2>\n<p>Se le credenziali sono corrette, il problema potrebbe essere il <strong>server MySQL stesso<\/strong>. Su un hosting condiviso, MySQL \u00e8 gestito dal provider e raramente si spegne. Su un VPS o server dedicato, verifica lo stato di MySQL:<\/p>\n<pre># Controllare lo stato di MySQL\/MariaDB\nsystemctl status mysql\n# oppure\nsystemctl status mariadb\n\n# Riavviare MySQL se \u00e8 fermo\nsystemctl restart mysql<\/pre>\n<p>Se MySQL si \u00e8 fermato, spesso il motivo \u00e8 la mancanza di RAM. Controlla i log di MySQL in <span style=\"font-family: monospace\">\/var\/log\/mysql\/error.log<\/span> per capire la causa. Se il server esaurisce la memoria frequentemente, potresti dover ottimizzare la configurazione di MySQL o aumentare la RAM del server.<\/p>\n<h2>Controllare se il database \u00e8 corrotto<\/h2>\n<p>Un <strong>database corrotto<\/strong> pu\u00f2 causare errori di connessione. WordPress include una funzionalit\u00e0 di riparazione integrata. Aggiungi questa riga al file <span style=\"font-family: monospace\">wp-config.php<\/span>:<\/p>\n<pre>define('WP_ALLOW_REPAIR', true);<\/pre>\n<p>Poi visita <span style=\"font-family: monospace\">https:\/\/tuodominio.com\/wp-admin\/maint\/repair.php<\/span> nel browser. Vedrai due opzioni: &#8220;Ripara database&#8221; e &#8220;Ripara e ottimizza database&#8221;. Clicca su &#8220;Ripara e ottimizza&#8221; per correggere le tabelle corrotte e ottimizzare le prestazioni. Dopo aver completato la riparazione, rimuovi immediatamente la riga da wp-config.php perch\u00e9 questa pagina \u00e8 accessibile senza autenticazione.<\/p>\n<h2>Verificare il valore di DB_HOST<\/h2>\n<p>La maggior parte degli hosting usa <span style=\"font-family: monospace\">localhost<\/span> come host del database, ma non tutti. Alcuni provider richiedono un indirizzo specifico come <span style=\"font-family: monospace\">mysql.tuodominio.com<\/span> o un indirizzo IP interno. Se hai recentemente migrato il sito su un nuovo hosting, il valore di <span style=\"font-family: monospace\">DB_HOST<\/span> potrebbe essere cambiato. Controlla la documentazione del tuo hosting o chiedi al supporto quale sia il valore corretto.<\/p>\n<p>In alcuni casi, puoi provare queste alternative a localhost:<\/p>\n<pre>define('DB_HOST', '127.0.0.1');\n\/\/ oppure con la socket\ndefine('DB_HOST', 'localhost:\/var\/run\/mysqld\/mysqld.sock');<\/pre>\n<h2>Quando il problema \u00e8 il traffico elevato<\/h2>\n<p>Un picco di traffico pu\u00f2 esaurire le connessioni MySQL disponibili. Il database ha un limite massimo di connessioni contemporanee (configurato con <span style=\"font-family: monospace\">max_connections<\/span> in MySQL). Quando questo limite viene raggiunto, le nuove connessioni vengono rifiutate e WordPress mostra l&#8217;errore. Su un hosting condiviso, questo limite \u00e8 spesso molto basso.<\/p>\n<p>Le soluzioni includono l&#8217;installazione di un <strong>plugin di caching<\/strong> (che riduce drasticamente le query al database), l&#8217;uso di un <strong>object cache<\/strong> come Redis o Memcached, e il passaggio a un hosting con risorse maggiori se il traffico \u00e8 costantemente alto. Anche l&#8217;ottimizzazione delle query lente con un plugin come Query Monitor pu\u00f2 aiutare a ridurre il carico sul database. Un sito WordPress ben ottimizzato con caching attivo pu\u00f2 servire migliaia di visitatori contemporanei con un consumo minimo di connessioni al database.<\/p>\n<h2>Testare la connessione al database manualmente<\/h2>\n<p>Se non riesci a capire se il problema \u00e8 nelle credenziali o nel server MySQL, puoi testare la connessione direttamente. Crea un file <span style=\"font-family: monospace\">test-db.php<\/span> nella cartella principale di WordPress con questo contenuto:<\/p>\n<pre>&lt;?php\n$conn = new mysqli('localhost', 'utente_database', 'password_database', 'nome_database');\nif ($conn-&gt;connect_error) {\n    die('Connessione fallita: ' . $conn-&gt;connect_error);\n}\necho 'Connessione al database riuscita!';\n$conn-&gt;close();<\/pre>\n<p>Apri il file nel browser visitando <span style=\"font-family: monospace\">https:\/\/tuodominio.com\/test-db.php<\/span>. Se vedi &#8220;Connessione riuscita&#8221;, le credenziali sono corrette e il problema \u00e8 altrove. Se vedi un errore specifico, saprai esattamente cosa correggere. Elimina questo file immediatamente dopo il test perch\u00e9 espone le credenziali del database.<\/p>\n<h2>Cosa fare se l&#8217;errore compare solo nella bacheca<\/h2>\n<p>Se il sito funziona per i visitatori ma la bacheca mostra l&#8217;errore, il problema \u00e8 nella tabella <span style=\"font-family: monospace\">wp_options<\/span>. Questa tabella viene consultata intensivamente dalla bacheca e pu\u00f2 corrompersi o crescere a dismisura con dati transient accumulati. Accedi a phpMyAdmin, seleziona la tabella <span style=\"font-family: monospace\">wp_options<\/span> e usa &#8220;Ripara tabella&#8221;. Per ridurne le dimensioni, elimina i transient scaduti con la query:<\/p>\n<pre>DELETE FROM wp_options WHERE option_name LIKE '_transient_%' AND option_value != '';<\/pre>\n<p>Questa operazione pu\u00f2 ridurre la tabella da centinaia di migliaia di righe a poche migliaia, migliorando significativamente le prestazioni della bacheca.<\/p>\n<h2>Serve assistenza urgente?<\/h2>\n<p>Se il tuo sito mostra &#8220;Error Establishing a Database Connection&#8221; e non riesci a risolvere, il team di <strong><a href=\"https:\/\/soccorsowp.it\/blog\/i-migliori-plugin-woocommerce-per-dominare-il-black-friday\/\">SoccorsoWP<\/a><\/strong> pu\u00f2 intervenire rapidamente per diagnosticare il problema e ripristinare il sito. <a href=\"https:\/\/soccorsowp.it\/ticket\/\">Apri un ticket<\/a> e torna online il prima possibile.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Come risolvere l&#8217;errore &#8220;Error Establishing a Database Connection&#8221; in WordPress L&#8217;errore &#8220;Error Establishing a Database Connection&#8221; \u00e8 uno dei pi\u00f9 temuti da chi gestisce un&#8230;<\/p>\n","protected":false},"author":1,"featured_media":25796,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_seopress_titles_title":"Risolvere \"Error Establishing a Database Connection\" WordPress","_seopress_titles_desc":"Guida per risolvere l'errore \"Error Establishing a Database Connection\" in WordPress. Verifica credenziali, riparazione database e soluzioni avanzate.","_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":"","footnotes":""},"categories":[1424],"tags":[],"class_list":["post-25795","post","type-post","status-publish","format-standard","has-post-thumbnail","category-bug-e-vulnerabilita"],"_links":{"self":[{"href":"https:\/\/soccorsowp.it\/blog\/wp-json\/wp\/v2\/posts\/25795","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/soccorsowp.it\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/soccorsowp.it\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/soccorsowp.it\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/soccorsowp.it\/blog\/wp-json\/wp\/v2\/comments?post=25795"}],"version-history":[{"count":0,"href":"https:\/\/soccorsowp.it\/blog\/wp-json\/wp\/v2\/posts\/25795\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/soccorsowp.it\/blog\/wp-json\/wp\/v2\/media\/25796"}],"wp:attachment":[{"href":"https:\/\/soccorsowp.it\/blog\/wp-json\/wp\/v2\/media?parent=25795"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/soccorsowp.it\/blog\/wp-json\/wp\/v2\/categories?post=25795"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/soccorsowp.it\/blog\/wp-json\/wp\/v2\/tags?post=25795"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}