De WordPress-foutmelding Error establishing a database connection betekent dat WordPress geen verbinding krijgt met de MySQL-database. Je ziet dan een witte pagina met alleen die ene zin, en vaak werkt WP-admin ook niet. Hieronder lees je waar de fout vandaan komt, hoe je de drie meest voorkomende oorzaken nakijkt en wat je doet als dat niet helpt.
Wat betekent deze foutmelding?
WordPress slaat alle content, instellingen en gebruikers op in een MySQL-database. Bij elke pagina maakt WordPress verbinding met die database, met de gegevens uit wp-config.php. Lukt dat niet, dan stopt WordPress met de melding Error establishing a database connection en toont verder niets.
De oorzaak is vrijwel altijd een van deze drie: de inloggegevens in wp-config.php kloppen niet meer, de MySQL-server is tijdelijk onbereikbaar, of een of meer databasetabellen zijn corrupt geraakt. Hieronder loop je ze in volgorde langs.
Check 1: de inloggegevens in wp-config.php
De meest voorkomende oorzaak is dat een van de vier databasegegevens in wp-config.php niet meer klopt. Vaak gebeurt dat na een verhuizing, na een kopie naar staging of nadat het databasewachtwoord is gewijzigd. Open het bestand via de Plesk file-manager of via FTP en controleer deze vier regels:
DB_NAME: de exacte naam van de database, inclusief je Plesk-prefix.DB_USER: de database-user die toegang heeft tot die database.DB_PASSWORD: het wachtwoord van de database-user, hoofdletter-gevoelig.DB_HOST: bij Chessweb is ditlocalhost, tenzij je server anders is ingericht.
Weet je het database-wachtwoord niet meer, dan kun je het in Plesk resetten. Volg daarvoor de stappen uit ons artikel over het wachtwoord van je database terughalen. Na het resetten zet je het nieuwe wachtwoord op de regel DB_PASSWORD en sla je wp-config.php op. Herlaad de site om te zien of de fout weg is.
Wil je weten welke databases en gebruikers er voor jouw site bestaan, kijk dan in Plesk onder Databases. Meer achtergrond vind je in hoe je je databases beheert.
Check 2: server-uitval
Kloppen de gegevens wel, dan is de MySQL-server misschien even niet bereikbaar. Dat kan komen door onderhoud, een piek in de belasting of een storing op de server. Bij Chessweb-pakketten controleer je dit op twee manieren.
- Bekijk de Chessweb-statuspagina op status.chessweb.eu. Daar publiceren we lopende incidenten en gepland onderhoud.
- Geeft de statuspagina geen uitsluitsel, mail dan support@chessweb.eu of gebruik het contactformulier. We kijken mee of er iets op serverniveau speelt.
Met Acronis bewaren we back-ups tot 6 maanden op het Advancedpakket en tot 1 jaar op het Businesspakket. Mocht een incident schade aan jouw database hebben veroorzaakt, dan kun je terug naar een eerder moment binnen de bewaartermijn.
Check 3: corrupte tabellen
Kloppen de gegevens, is de server bereikbaar en zie je nog steeds Error establishing a database connection? Dan kan een corrupte tabel de boosdoener zijn. Dat gebeurt bijvoorbeeld na een onverwachte herstart, een volgelopen schijf, of een mislukte plugin-update. WordPress heeft een ingebouwde reparatie-tool die je tijdelijk activeert via wp-config.php.
- Open
wp-config.phpen voeg boven de regel/* That's all, stop editing! */de volgende regel toe:define( 'WP_ALLOW_REPAIR', true );. - Bezoek
https://jouw-website.nl/wp-admin/maint/repair.phpin je browser. - Kies Repair Database of Repair and Optimize Database. De pagina laat per tabel zien of de reparatie is gelukt.
- Verwijder de regel
WP_ALLOW_REPAIRdirect na afloop uitwp-config.php. De repair-pagina is anders zonder inloggen bereikbaar.
Op het Businesspakket heb je WP-CLI rechtstreeks via Plesk beschikbaar, zonder losse SSH-toegang. Daar kun je hetzelfde doen met wp db repair. Het commando voert per tabel REPAIR TABLE uit en toont het resultaat in je terminal. Op Advanced is WP-CLI niet beschikbaar; kom je er daar niet uit, neem dan contact met ons op.
Let op: laat de regel WP_ALLOW_REPAIR na de reparatie nooit staan. Iedereen die de URL kent kan anders de tool aanroepen.
Werkt niets? Zet een back-up terug
Komt de site na deze drie checks nog niet terug, dan is een back-up terugzetten vaak de snelste oplossing. Bij onze WordPress-hosting maken we automatische back-ups met Acronis. In Acronis zet je alleen de database terug naar een eerder moment, zonder je bestanden te overschrijven.
Alle stappen staan in ons artikel hoe je een back-up terugzet. Twijfel je welk moment je moet terugzetten, mail dan support@chessweb.eu. We kijken met je mee welk moment nog een goede database heeft.
Hulp nodig? Onze support kijkt met je mee, neem contact op.