WordPress fout bij databaseconnectie oplossen: stap voor stap

WordPress fout bij databaseconnectie oplossen: een rustig stappenplan om je site weer aan de praat te krijgen, zonder eerst alles te slopen.

· 23 juni, 2026 · 8 min lezen
In het kort
  • WordPress fout bij databaseconnectie oplossen begint bijna altijd bij wp-config.php: controleer DB_NAME, DB_USER, DB_PASSWORD en DB_HOST.
  • De melding "Error establishing a database connection" betekent dat WordPress draait, maar de database niet kan bereiken; je site is niet kapot, de verbinding wel.
  • Loop de oorzaken op waarschijnlijkheid na: gewijzigde credentials, verkeerde DB_HOST, MySQL-server down, te veel connecties, corrupte tabel, volle schijf of een hack.
  • Maak altijd eerst een back-up voordat je aan wp-config.php of de database sleutelt; een foute wijziging maakt een tijdelijk probleem een groot probleem.
In dit artikel

Open je wp-config.php en kijk naar de regels met DB_NAME, DB_USER, DB_PASSWORD en DB_HOST. In negen van de tien gevallen zit het probleem daar, of bij de MySQL-server die er even niet is. De rest van dit artikel loopt de oorzaken na in de volgorde waarin ik ze zelf controleer.

De foutmelding “Error establishing a database connection” betekent dat WordPress de PHP-kant nog goed draait, maar de database niet kan bereiken. Je site is niet kapot. De verbinding is dat.

Ik werk dit door alsof je net bij een laptop zit en je site offline is. Geen theorie vooraf. Eerst de meest waarschijnlijke oorzaak, dan de minder voorkomende.

Laptop met wordpress fout bij databaseconnectie oplossen

WordPress fout bij databaseconnectie oplossen: eerst een back-up

Voor je iets aanraakt in wp-config.php of in de database: pak een kopie. Hosting-paneel, een knop “back-up”, desnoods via FTP een snapshot van de map en een export van de database. Een uur extra werk nu is beter dan twee dagen reparatie later.

Dit is geen formaliteit. Foute aanpassingen aan wp-config.php zijn een van de redenen waarom een tijdelijk probleem een serieus probleem wordt. Een back-up voor wijzigingen is bij mij altijd standaard, ook bij kleine taken.

Databasefout beslisboom

Wat veroorzaakt jouw databasefout?

Beantwoord de vragen. Je komt uit bij de waarschijnlijke oorzaak en de eerste fix.

Maak eerst een back-up van bestanden en database.

Vraag 1

Je route

Nog geen antwoorden.

Interactieve versie, zet JavaScript aan. Hieronder staat de statische beslisroute.

Maak eerst een back-up van bestanden en database.

  1. Database-wachtwoord of hosting gewijzigd? Oorzaak: credentials in wp-config.php niet bijgewerkt. Fix: controleer DB_USER, DB_PASSWORD en DB_HOST.
  2. Niet inloggen op de database? Oorzaak: MySQL-server down of onbereikbaar. Fix: check hosterstatus en DB_HOST.
  3. “Too many connections” of veel piekverkeer? Oorzaak: maximaal aantal database-connecties bereikt. Fix: caching aan, connecties beperken of ruimer hostingpakket.
  4. Schijfruimte bijna vol? Oorzaak: volle schijf. Fix: ruim logs en oude back-ups op en schoon de database op.
  5. WordPress stelt database-reparatie voor? Oorzaak: corrupte database of tabel. Fix: WP_ALLOW_REPAIR aan of repareren via phpMyAdmin.
  6. Verdachte bestanden of redirects? Oorzaak: mogelijk hack of malware. Fix: forensische back-up en opschonen.
  7. Geen van deze? Minder voorkomende oorzaak. Fix: controleer DB_HOST-poort/socket en neem contact op met je hoster.

Stap 1: wachtwoord of gebruikersnaam in wp-config.php gewijzigd

De meest voorkomende oorzaak in mijn praktijk. Iemand heeft het databasewachtwoord gereset in het hosting-paneel, maar wp-config.php nog niet bijgewerkt. Vaak gebeurt dat na een hosting-migratie of na een security-actie van de hoster.

Open wp-config.php via FTP, SFTP of de file manager van je hoster. Zoek deze vier regels:

define( 'DB_NAME', 'jouw_database_naam' );
define( 'DB_USER', 'jouw_database_gebruiker' );
define( 'DB_PASSWORD', 'jouw_wachtwoord' );
define( 'DB_HOST', 'localhost' );

Vergelijk ze met wat in het hosting-paneel staat onder MySQL-databases. Wijk er ook maar één teken af, dan kan WordPress geen verbinding maken. Let vooral op spaties aan het begin of einde van het wachtwoord. Die sluipen erin bij kopiëren.

Een wachtwoord met aanhalingstekens of een dollarteken kan ook problemen geven. Gebruik in wp-config.php enkele aanhalingstekens (') rond het wachtwoord. Dubbele aanhalingstekens (") interpreteren PHP-variabelen, en dat is niet wat je wil.

wp-config.php openen om databasegegevens te controleren bij een WordPress connectiefout

Stap 2: DB_HOST klopt niet

Bij veel Nederlandse hosters is DB_HOST gewoon localhost. Maar niet altijd. Sommige delen MySQL af op een aparte host: mysql.jouwhost.nl, db123.cluster-x.eu, of een IP-adres.

Kijk in het hosting-paneel naar de databasedetails. De server-naam die daar staat moet exact zo in DB_HOST. Soms staat er een poortnummer bij, dan wordt het bijvoorbeeld mysql.jouwhost.nl:3306.

Twijfel je tussen localhost en 127.0.0.1? Dat is geen synoniem. localhost gebruikt een unix socket, 127.0.0.1 gaat over TCP. Beide werken meestal, maar als de ene faalt, probeer de andere.

Stap 3: MySQL-server is down of bezig

Bij goedkope shared hosting komt het voor: de MySQL-server is overbelast, gestopt of in onderhoud. Je wp-config.php klopt, maar de database is gewoon niet bereikbaar.

Test dit door in te loggen op je hosting-paneel. Werkt phpMyAdmin? Reageert de databasebeheerpagina? Zo niet, dan ligt het probleem bij de hoster, niet bij jou. Open een ticket of bel de support.

Een snelle indicator: heeft jouw hoster een statuspagina? Veel hosters hebben er een (Hostinger, TransIP, Hetzner). Kijk daar of er een storing wordt gemeld. Dat scheelt een uur ratelen aan je site.

In de tussentijd kun je niets repareren. Wachten. Frustrerend, maar wel de realiteit als je niet zelf de server beheert.

Stap 4: maximaal aantal connecties bereikt

Soms staat de database wel aan, maar weigert hij nieuwe verbindingen. Dat gebeurt bij plotselinge piekverkeer, een rondzwervende crawler, of een plugin die elke seconde queries afvuurt.

In de foutmelding staat dan vaak iets als “Too many connections” of “Can’t connect to MySQL server”. Een korte stop-en-start van de site lost dit meestal op. Maar als het terugkomt, zit het echte probleem dieper:

  • een plugin die ongezond gedrag vertoont (vooral oudere backup- of statistiek-plugins)
  • bots die je site bestoken zonder rate-limiting
  • een te krap connectie-limiet op shared hosting

Kijk welke plugin recent is bijgewerkt of nieuw geïnstalleerd. Soms kun je via SFTP de map wp-content/plugins/[naam] tijdelijk hernoemen naar [naam]-uit. WordPress schakelt zo’n plugin dan uit. Werkt je site weer? Dan heb je de boosdoener.

Stap 5: corrupte database of tabel

Een minder vaak voorkomende oorzaak: een tabel in de database is corrupt geraakt. Dat zie je soms aan een aanvullende melding: “One or more database tables are unavailable”.

WordPress heeft een ingebouwde reparatiefunctie. Voeg deze regel toe aan wp-config.php, ergens boven de regel met /* That's all, stop editing! */:

define( 'WP_ALLOW_REPAIR', true );

Bezoek daarna https://jouwsite.nl/wp-admin/maint/repair.php. Je krijgt twee knoppen: “Repair Database” en “Repair and Optimize Database”. Begin met de eerste. Dit kan een paar minuten duren.

Belangrijk: haal de regel WP_ALLOW_REPAIR daarna weer weg uit wp-config.php. Anders is die reparatiepagina publiek toegankelijk voor iedereen die de URL kent.

Werkt de ingebouwde repair niet? Dan kan het via phpMyAdmin. Vink de tabellen aan, kies onderin “Repair table”. Voor zwaardere reparaties bestaat de SQL-opdracht CHECK TABLE en REPAIR TABLE.

phpMyAdmin gebruikt om WordPress database-tabellen te repareren na een connectiefout

Stap 6: schijfruimte vol

Onderschat dit niet. Een server waarvan de schijf vol zit, kan geen nieuwe writes meer doen. MySQL stopt dan, of weigert verbindingen. Zelfs een logfile die uit de hand loopt kan dit veroorzaken.

Check via je hosting-paneel de schijfgebruik-overzichten. Vaak liggen de grootste boosdoeners hier:

  • de map wp-content/uploads met jaren aan foto’s
  • error-logs in wp-content/debug.log of error_log in de root
  • back-ups die plugins lokaal opslaan in plaats van extern
  • databaselogs en binlogs op de server

Een mailbox die volloopt op dezelfde server is ook een klassieker. Mail op dezelfde hosting als je site, met onbeheerde nieuwsbrieven uit 2019: dan duurt het niet lang.

Stap 7: hack of malware

Komt minder vaak voor als oorzaak van een databaseconnectiefout, maar wel als gevolg. Een gehackte site die geblokkeerd is door de hoster geeft soms een databasefout, omdat de database als veiligheidsmaatregel is afgesloten.

Heb je recent geen wachtwoord gewijzigd, geen plugin bijgewerkt, geen migratie gedaan, en is je site ineens dood? Check je mail. Veel hosters sturen een melding bij verdachte activiteit. Eventueel staat er ook iets in het hosting-paneel onder “Beveiliging” of “Meldingen”.

Bij een bevestigde hack stopt het eenvoudige werk. Een herstelactie loopt dan via een schone back-up, een malware-scan en hardening achteraf. Op de pagina WordPress malware verwijderen staat hoe ik dat aanpak.

Wat je niet moet doen

Een paar dingen waar mensen zichzelf mee in de problemen werken.

Niet zomaar plugins herinstalleren via FTP. Dat verandert de connectie naar de database niet. Het maakt vaak alleen meer rommel.

Niet de database “leeg gooien en opnieuw beginnen”. Dat is geen oplossing, dat is verlies van alle content, gebruikers, instellingen en bestellingen. Eerst de oorzaak, dan pas drastische maatregelen.

Niet wp-config.php aanpassen zonder backup van het bestand zelf. Dit klein bestand is de sleutel tot je hele site. Kopieer hem voor je iets wijzigt.

Niet eindeloos proberen via dezelfde route. Heb je een uur lang dezelfde stappen herhaald zonder resultaat? Dan zit het probleem ergens anders. Of het ligt bij de hoster, of het is iets dat een tweede paar ogen nodig heeft.

Wanneer is het tijd voor hulp

De meeste databaseconnectiefouten zijn binnen een half uur op te lossen als je weet waar je moet kijken. Wat dat halve uur uitloopt, is meestal het zoeken zelf.

Bij mij is dit standaardwerk. Migratie, serverwerk en database vallen onder mijn 95 euro per uur tarief, of 105 euro per uur als het buiten kantooruren moet. Tijdregistratie afgerond per 15 minuten, minimum per factuur 50 euro. Allemaal exclusief btw.

In de praktijk lossen veel databasefouten zich op binnen één tot twee uur werk, inclusief het uitzoeken. Een gehackte site of een corrupte productie-database kost meer, omdat daar herstel achteraan komt.

Wat ik graag vooraf weet: de exacte foutmelding, de naam van je hoster, of er recent iets is gewijzigd (migratie, wachtwoord, plugin-update), en hoelang het probleem al speelt. Met die info kan ik direct een gerichte schatting maken in plaats van een blinde duik.

Verbeteren boven herbouwen. Een werkende site weer aan de praat krijgen is bijna altijd goedkoper dan een nieuwe bouwen. Ook al voelt het in het moment niet zo. Meer artikelen over WordPress staan in de categorie website onderhoud.

Serhii Lypii
Gratis meedenken

Spoedhulp bij een WordPress databasefout

Lukt het niet om je site terug live te krijgen na deze stappen? Stuur me de exacte foutmelding, de naam van je hoster en wanneer het is begonnen. Ik reageer binnen kantooruren en geef terug wat er volgens mij speelt en wat het ongeveer kost om op te lossen.

Vraag spoedhulp aan
Vond je dit nuttig? Deel het:
FAQ

Veelgestelde vragen

Wat betekent "Error establishing a database connection" precies?
WordPress kan PHP draaien, maar krijgt geen contact met de MySQL-database. De code werkt, de opslag niet. De oorzaak ligt bijna altijd in wp-config.php, op de databaseserver of in de verbinding tussen die twee.
Kan ik dit zelf oplossen of moet ik hulp inroepen?
Stap 1 tot en met 3 zijn voor iedereen met basistoegang tot het hosting-paneel doenlijk. Vanaf stap 5 (databasereparatie, phpMyAdmin) wordt het technischer. Twijfel je of weet je niet zeker wat je doet, laat het dan controleren. Een verkeerde SQL-actie is moeilijker te herstellen dan een verbindingsfout.
Mijn site is gehackt en geeft nu een databasefout. Wat nu?
Niet beginnen met repareren. Eerst de hack zelf aanpakken. Een schone back-up terugzetten van voor de besmetting, daarna pas opnieuw kijken naar de connectie. Anders zet je gewoon een geïnfecteerde site terug live.
Hoelang duurt een herstel meestal?
Bij een eenvoudige oorzaak (verkeerd wachtwoord in wp-config.php) is het een kwartier. Bij een corrupte database of een hoster-probleem kan het uitlopen tot enkele uren. Bij een hack altijd langer, omdat daar opschoonwerk bij komt.
Wat als ik mijn wp-config.php niet kan vinden?
Het bestand staat in de hoofdmap van je WordPress-installatie, naast wp-content en wp-admin. Via FTP of de file manager van je hoster ben je er in twee klikken. Zie je het niet, dan kan het zijn dat verborgen bestanden uit staan. Zet die aan in je FTP-client.
Helpt het om gewoon mijn site te resetten?
Een complete reset is bijna nooit nodig en levert vaak meer schade op dan winst. Je verliest content, bestellingen, gebruikers en instellingen. Eerst de specifieke oorzaak vinden, dan pas een drastische stap.
Serhii Lypii
Over de auteur

Serhii Lypii

Freelance webmaster · Terneuzen

Sinds 2012 werk ik met websites en leverde ik ruim 210 projecten op. Ik help mkb-ondernemers met onderhoud, snelheid, beveiliging en praktische automatisering. Nuchter, zonder hype.

Ik schreef dit artikel op en werkte het voor het laatst bij op .

Meer over Lypii
Even sparren over je site?

Loop je ergens tegenaan of twijfel je over je site? Ik denk graag mee — kies hieronder hoe je contact opneemt.

Reactie binnen 4 uur op werkdagen
Navigatie
Home Over mij Kennisbank
Contact
+31 6 39 56 93 03 serhii@lypii.nl WhatsApp
Stuur een bericht