Error establishing a database connection in WordPress: oorzaken en oplossingen

8 min leestijd
Error establishing a database connection in WordPress: oorzaken en oplossingen

Je opent je WordPress site en ziet alleen een witte pagina met één zin: "Error establishing a database connection." Geen menu, geen content, geen dashboard. Alles weg. Je site is niet gehackt en je bestanden zijn er nog — WordPress kan alleen de database niet bereiken. En zonder database bestaat je site niet.

Dit is een van de meest paniek-veroorzakende WordPress fouten. Maar in de meeste gevallen is de oorzaak simpel en de fix sneller dan je denkt.

Wat betekent deze foutmelding?

WordPress slaat alles op in een MySQL-database: je pagina’s, berichten, instellingen, gebruikers, plugin-configuraties — letterlijk alles behalve je mediabestanden. Als WordPress geen verbinding kan maken met die database, kan het niks laten zien.

De oorzaak zit altijd in een van deze vijf hoeken:

  • Verkeerde database-inloggegevens in wp-config.php
  • Database server is down — je hosting heeft een probleem
  • Corrupte database — tabellen zijn beschadigd
  • Je database is vol — schijfruimte of databaselimiet bereikt
  • Je hosting heeft je geblokkeerd — te veel verbindingen of onbetaalde rekening

Webknecht’s oordeel: In 70% van de gevallen zijn het verkeerde inloggegevens of een tijdelijk serverprobleem. Controleer eerst de simpele dingen voordat je in paniek raakt.

Stap 1: check of het probleem overal is

Snel testen:

  1. Bezoek je site — zie je de foutmelding?
  2. Ga naar je WordPress admin (jouwdomein.nl/wp-admin/) — krijg je dezelfde fout?
  3. Wacht 5 minuten en probeer opnieuw — soms is de database server tijdelijk overbelast

Als je site wél werkt maar je admin niet, is het een ander probleem (waarschijnlijk je wp-options tabel). Als beide kapot zijn, lees verder.

Stap 2: controleer je wp-config.php

Het bestand wp-config.php staat in de root van je WordPress installatie en bevat de database-inloggegevens. Eén typfout en WordPress kan niet meer verbinden.

Open wp-config.php via DirectAdmin:

  1. Log in op DirectAdmin → open File Manager
  2. Navigeer naar je WordPress map (meestal /domains/jouwdomein.nl/public_html/)
  3. Klik op wp-config.php om het te openen

Controleer deze vier regels:

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

Controleer elk veld:

  • DB_NAME — de naam van je database (check in DirectAdmin → MySQL Management)
  • DB_USER — de gebruikersnaam die toegang heeft tot die database
  • DB_PASSWORD — het wachtwoord van die gebruiker (hoofdlettergevoelig!)
  • DB_HOST — bijna altijd localhost. Sommige hosts gebruiken een ander adres.

Veelgemaakte fouten:

FoutVoorbeeld
Spatie voor of na het wachtwoord' mijnwachtwoord' in plaats van 'mijnwachtwoord'
Database hernoemd maar wp-config niet aangepastOude naam staat er nog
Wachtwoord gewijzigd via hosting panelwp-config heeft nog het oude wachtwoord
Verkeerde database user gekoppeldUser heeft geen rechten op deze database

Database credentials checken in DirectAdmin:

  1. Ga naar DirectAdminMySQL Management
  2. Je ziet een lijst van databases en bijbehorende gebruikers
  3. Vergelijk de namen exact met wat in wp-config.php staat
  4. Wachtwoord kwijt? Stel een nieuw wachtwoord in voor de database user en update wp-config.php

Webknecht’s oordeel: Dit is de #1 oorzaak. In 90% van de gevallen heeft iemand een wachtwoord gewijzigd, een migratie gedaan, of staat er een typfout in wp-config.php. Check dit altijd eerst.

Stap 3: test de database verbinding handmatig

Wil je 100% zeker weten of het aan de inloggegevens ligt? Maak een simpel testbestand.

  1. Maak een nieuw bestand db-test.php in je WordPress root
  2. Plak deze code erin:
<?php
$link = mysqli_connect('localhost', 'jouw_db_user', 'jouw_wachtwoord', 'jouw_database');
if (!$link) {
    die('Verbinding mislukt: ' . mysqli_connect_error());
} 
echo 'Verbinding gelukt!';
mysqli_close($link);
?>
  1. Vul je eigen gegevens in (dezelfde als in wp-config.php)
  2. Bezoek jouwdomein.nl/db-test.php
  3. Verbinding gelukt? → het probleem zit niet in de credentials
  4. Verbinding mislukt? → je ziet precies wat er fout is (verkeerd wachtwoord, onbekende user, etc.)

Belangrijk: Verwijder db-test.php weer als je klaar bent. Dit bestand bevat je database-wachtwoord.

Stap 4: repareer een corrupte database

Als je inloggegevens kloppen maar de fout blijft, kan je database corrupt zijn. WordPress heeft een ingebouwde reparatietool.

Activeer de reparatiemodus:

  1. Open wp-config.php
  2. Voeg deze regel toe, direct boven de regel /* That's all, stop editing! */:
define('WP_ALLOW_REPAIR', true);
  1. Ga naar jouwdomein.nl/wp-admin/maint/repair.php
  2. Kies Repair Database (of Repair and Optimize Database voor een grondiger fix)
  3. Wacht tot het klaar is

Na de reparatie:

Verwijder de regel weer uit wp-config.php. Anders kan iedereen je reparatiepagina bereiken — er is geen login voor nodig.

Webknecht’s oordeel: Database corruptie komt vaker voor dan je denkt, vooral na servercrashes of als je hosting schijfruimteproblemen had. De ingebouwde reparatietool lost het in de meeste gevallen op.

Stap 5: check je schijfruimte en database limiet

Een volle schijf of een database die tegen zijn limiet aanzit kan dezelfde fout geven.

Controleer in DirectAdmin:

  1. Ga naar DirectAdmin → je ziet bovenaan je schijfgebruik
  2. Klik op MySQL Management → check de grootte van je database
  3. Sommige hosting pakketten hebben een limiet op database-grootte (bijv. 500 MB of 1 GB)

Veelvoorkomende ruimtevreters:

  • Post revisies — WordPress slaat elke wijziging op. 100 blogposts × 20 revisies = duizenden onnodige rijen
  • Spam comments — vooral als je geen anti-spam plugin draait
  • Oude plugin data — verwijderde plugins laten soms tabellen achter
  • Transients — tijdelijke cache-data die niet wordt opgeruimd

Database opschonen:

De plugin WP-Optimize kan revisies, spam, transients en andere rommel opruimen. Installeer hem, draai een cleanup, en verwijder hem weer als je wilt.

Stap 6: neem contact op met je hostingprovider

Als stap 1 t/m 5 niks opleveren, is het een serverprobleem:

  • MySQL server is down — hier kun je zelf niks aan doen
  • Te veel gelijktijdige verbindingen — je site krijgt meer verkeer dan je hosting aankan
  • Server migratie of onderhoud — je host heeft iets gewijzigd zonder je te melden

Meld bij je hostingprovider:

  • De exacte foutmelding
  • Wanneer het begon
  • Of je recent iets hebt gewijzigd (plugin update, migratie, etc.)
  • Of je db-test.php resultaat (als je die hebt gedaan)

De meeste hosts kunnen direct in de server logs zien wat er mis is. Dit is geen vraag waar je je voor hoeft te schamen — het is letterlijk waarvoor je ze betaalt.

De database error checklist

✅ Site en admin getest — beide dezelfde fout?
✅ wp-config.php gecontroleerd — DB_NAME, DB_USER, DB_PASSWORD, DB_HOST
✅ Database credentials geverifieerd in DirectAdmin MySQL Management
✅ db-test.php gemaakt en verbinding getest
✅ WP_ALLOW_REPAIR ingeschakeld en database gerepareerd
✅ Schijfruimte en database limiet gecontroleerd
✅ Hostingprovider gecontacteerd als bovenstaande niet werkt

Wat kost het om dit te laten fixen?

ScenarioZelf doenLaten doen
Verkeerde credentials in wp-config.php5 minuten€25–€50
Corrupt database repareren10 minuten€25–€75
Database opschonen (vol)15-30 minuten€50–€100
Server/MySQL probleemNiet zelf doen€0 (hosting support)

Samenvatting

"Error establishing a database connection" klinkt als een ramp, maar is het meestal niet. Controleer je wp-config.php, verifieer je database credentials in DirectAdmin, repareer eventueel je database, en bel je hostingprovider als het niet lukt. Je data is er nog — WordPress kan er alleen even niet bij.

Wil je hosting waar de database gewoon werkt en waar iemand meekijkt als het misgaat? KeurigOnline biedt managed WordPress hosting met Nederlandse support — inclusief database monitoring en automatische backups.

Nederlandse support

Klaar om te beginnen met KeurigOnline?

Betrouwbare WordPress hosting zonder gedoe

Vanaf €1,50 per maand
SSH + WP-CLI + Redis + LiteSpeed
5 sterren support - 4.9 op Trustpilot
20.000+ klanten - 20 jaar ervaring