De fout “error establishing a database connection” is een van de meest voorkomende en beangstigende fouten die een WordPress gebruiker tegen kan komen. Het is bijna gelijk spel met de “white screen of death” (WSOD). Deze foutmelding geeft aan dat jouw website niet meer communiceert met of toegang heeft tot jouw database waardoor jouw complete website offline is. Dit is geen fout om aan de kant te leggen en je zou dit zo snel mogelijk moeten oplossen aangezien dit direct invloed heeft op je verkopen, verkeer en analyses.

Maar maak je geen zorgen, vandaag bespreken een aantal veel voorkomende scenario’s die deze fout veroorzaken en gemakkelijke manieren om jouw website weer online te krijgen.

Wat is de “Error establishing a database connection” fout?

Alle informatie op jouw WordPress website, zoals bericht data, pagina data, meta informatie, plugin instellingen, login informatie etc. is opgeslagen in jouw MySQL database. De enige data die niet daar is opgeslagen is de media inhoud zoals afbeeldingen en jouw theme/plugin/core bestanden zoals index.php, wp-login.php, etc. Wanneer iemand jouw website bezoek dan voert PHP de code uit en voert queries uit om informatie van de database te krijgen, welke daarna wordt weergegeven in de browser van de bezoeker.

Indien het door wat voor reden dan ook niet goed werkt, krijg je een “error establishing a database connection” zoals hieronder te zien. De complete pagina is blank aangezien er geen data kan worden opgehaald om de pagina te kunnen renderen om dat de verbinding niet correct werkt. Dit breekt niet alleen de voorkant van jouw website, maar het verhindert jou ook om jouw WordPress dashboard te bereiken.

De kans bestaat dat bezoekers deze foutmelding in de front-end niet meteen tegenkomen. Dat komt omdat je site hoogstwaarschijnlijk nog steeds wordt weergegeven vanuit de cache, totdat deze verloopt. Bij Kinsta worden bijvoorbeeld alle WordPress-sites standaard een uur in de cache bewaard. Als een site dus nog steeds vanuit de cache wordt weergegeven, kan deze er nog prima uitzien voor de bezoeker.

Fout bij het opzetten van een databaseverbinding in Chrome

Fout bij het opzetten van een databaseverbinding in Chrome

Bij Kinsta kan het supportteam de duur van de cache verhogen tot bijvoorbeeld een uur of zelfs een week, indien gewenst. Als je een site hebt die niet vaak veranderd, kan een lange cacheduur de prestaties van de site ten goede komen, omdat er dan minder vaak ‘verse’ bestanden hoeven te worden gedownload zodra de cache verloopt. In de gevallen zoals hierboven, zou de front-end van je site (behalve als je een script hebt of wanneer een deel van de site de cache onderbreekt) veel langer actief blijven.

Wanneer bezoekers jouw website willen bereiken dan genereert dit een 500 HTTP status code in jouw logboek. Dit is dezelfde status code die te zien is wanneer er een “internal server error” is. In essentie betekend het dat er iets verkeerd is gegaan bij de server en dat de verzochte resources niet afgeleverd zijn. Wanneer alles naar behoren werkt dan genereert jouw website een 200 HTTP status code.

Database connectie 500 foutmelding

Database connectie 500 foutmelding

Als je klant bij Kinsta bent kan je ook kijken naar het 500-foutenrapport in de MyKinsta-analyse om te zien of het een terugkerend probleem is.

500 error breakdown

500 error breakdown

Veel voorkomende scenario’s die deze fout veroorzaken

Dus, wanneer gebeurt dit precies? Hieronder staan een aantal algemene redenen. Maak je geen zorgen, we bespreken ze allemaal uitvoerig zodat jij weet hoe je de problemen kunt oplossen. Meestal valt deze fout binnen 15 minuten op te lossen.

Hoe los je de fout Error establishing a database connection op

Voordat je begint met het oplossen van de fout, raden wij aan altijd een backup te maken. Veel van de aanbevelingen hieronder hebben te maken met het manipuleren van data in jouw database, je wilt het uiteraard niet erger maken. Je moet altijd een backup maken voordat je iets probeert te repareren op jouw WordPress website, ongeacht hoe tech savvy je denkt te zijn.

Je kunt een populaire WordPress backup plugin zoals UpdraftPlus of Duplicator gebruiken om zowel je bestanden als database te backuppen

Je kunt nooit teveel backups hebben; Hoe technisch aangelegd je ook denkt te zijn. 😉Click to Tweet

Als je een Kinsta gebruiker bent kun je gebruik maken van onze single-click backup feature. Klik op jouw WordPress website in MyKinsta, klik op “Backups” en daarna op “Back up Now”.

Backup van jouw WordPress site

Backup van jouw WordPress site

Je hebt dan de optie om een backup te herstellen naar production of staging. Ook kun je een handmatige backup van jouw MySQL database maken met phpMyAdmin. Wanneer je een goede backup hebt is het tijd om de database verbinding problemen te gaan oplossen.

Onze klanten lossen dit probleem binnen enkele minuten op, rechtstreeks vanuit hun MyKinsta dashboard. Probeer Kinsta gratis.

1. Controleer jouw Database logingegevens

Het allereerste wat je moet doen is controleren of de database inloggegevens correct zijn. Dit is veruit de meest voorkomende reden waarom je de “error establishing a database connection” te zien krijgt. Vooral na het verhuizen naar een nieuwe hosting provider. De verbindingsgegevens voor jouw WordPress website staan opgeslagen in het wp-config.php bestand welke over het algemeen is gelokaliseerd op het root niveau van jouw WordPress website.

Het bevat vier belangrijke stukken informatie die allemaal correct moeten zijn om de verbinding succesvol te kunnen maken.

Database naam

// ** MySQL settings ** //
/** The name of the database for WordPress */
define('DB_NAME', 'xxxxxx');

MySQL database gebruikersnaam

/** MySQL database username */
define('DB_USER', 'xxxxxx');

MySQL database wachtwoord

/** MySQL database password */
define('DB_PASSWORD', 'xxxxxxxxx');

MySQL hostnaam (server)

/** MySQL hostname */
define('DB_HOST', 'localhost');

Om toegang te krijgen tot jouw wp-config.php bestand kun je verbinden met jouw website via sFTP en naar de root van jouw website navigeren. Indien je gebruik maakt van cPanel kun je klikken op “File manager” en daarmee naar de root van jouw website navigeren. Klik met de rechtermuisknop om het bestand te bewerken.

cPanel bestandsmanager

cPanel bestandsmanager

Hieronder staat een voorbeeld hoe het bestand eruit ziet wanneer je het opent.

wp-config.php inlog gegevens

wp-config.php inlog gegevens

Je moet de huidige waardes vergelijken met die op de server om er zeker van te zijn dat ze correct zijn. Volg de instructies hieronder voor cPanel en Kinsta gebruikers.

Controleer database gegevens in cPanel

Het eerste wat je controleert is de database naam. Om dit te doen moet je inloggen op phpMyAdmin in cPanel in het database gedeelte.

cpanel phpmyadmin

cPanel phpMyAdmin

Aan de linker kant zou je de database aan de onderkant kunnen zien. Je kunt de “information_schema” database negeren aangezien dit gebruikt wordt door de host. Je moet deze naam vergelijken met de waarde voor DB_NAME in jouw wp-config.php bestand. Als ze gelijk zijn dan is dit niet het probleem. Zijn ze niet gelijk dan moet je jouw wp-config.php bestand updaten.

cPanel database naam

cPanel database naam

Je kunt ook verifiëren dat het de juiste database is door er zeker van te zijn dat het de WordPress website URL bevat. Om dit te doen klik je op de database en daarna op de “wp_options” tabel (deze kan een iets andere naam hebben vanwege veiligheid doeleinden, zoals wpXX_options). Boven aan die tabel zie je dan de waardes voor jouw websites URL en naam. Als deze jouw huidige website bevatten dan ben je er van verzekerd dat je op de juiste plek bent.

Controleer de site URL in phpMyAdmin

Controleer de site URL in phpMyAdmin

Indien jouw database naam correct is en je nog steeds de foutmelding “error establishing a database connection” te zien krijgt dan moet je de gebruikersnaam en het wachtwoord controleren. Om dit te doen moet je een nieuw PHP bestand maken in de root folder van jouw WordPress website met de volgende code. Je kunt het bestand elke willekeurige naam geven, bijvoorbeeld checkdb.php. Verander de waardes van db_user en db_password voor de waardes uit jouw wp-config.php bestand.

<?php
$test = mysqli_connect('localhost', 'db_user', 'db_password');
if (!$test) {
die('MySQL Error: ' . mysqli_error());
}
echo 'Database connection is working properly!';
mysqli_close($testConnection);

Navigeer naar het bestand op jouw WordPress site: https://jouwdomein.nl/check_db.php. Als je een “MySQL Error: Toegang geweigerd” melding krijgt dan weet je dat je gebruikersnaam en/of wachtwoord verkeerd is en moet je verder gaan met de volgende stap om jouw gegevens te resetten.

Geen toegang in MySQL

Geen toegang in MySQL

Hieronder staat het bericht dat je wilt zien: “Database connection is working properly”. Uiteraard, als dit de case was dan zou je hier niet zijn. Wees er zeker van dat je dit bestand verwijderd nadat je klaar bent met testen.

De database verbinding werkt correct

De database verbinding werkt correct

Je moet jouw gebruikersnaam en wachtwoord resetten. In cPanel klik je op MySQL Databases in de Database sectie.

cPanel MySQL databases

cPanel MySQL databases

Scroll naar beneden en maak een nieuwe MySQL gebruiker aan. Kies een unieke gebruikersnaam en wachtwoord zodat ze niet gemakkelijk geraden kunnen worden. De wachtwoord generator die zij aanbieden werkt perfect hiervoor. Klik daarna op “Maak gebruiker”. Je kunt ook het wachtwoord voor de huidige database gebruiker wijzigen.

Nieuwe mySQL gebruiker aanmaken

Nieuwe mySQL gebruiker aanmaken

Scroll weer naar beneden en voeg jouw nieuwe gebruiker toe aan de database. Het volgende scherm zal vragen welke privileges je toe wil voegen, selecteer “Alle privileges”.

Voeg de gebruiker toe aan de database in cPanel

Voeg de gebruiker toe aan de database in cPanel

Neem deze nieuwe inloggegevens mee naar je wp-config.php bestand en update de oude waardes. Je moet zowel DB_USER als DB_PASSWORD aanpassen. Je kunt ook het test bestand nog een keer proberen. Dit zou het probleem met de logingegevens moeten oplossen. Is het niet opgelost dan zou het kunnen dat je de verkeerde hostnaam (DB_HOST) hebt. Sommige hosts gebruiken verschillende waardes, bekijk de lijst met veel voorkomende DB Host waardes. Meestal is dit simpelweg localhost. Je kunt altijd contact opnemen met je hosting provider of in hun documentatie kijken als je hier niet zeker van bent. Sommige hosts gebruiken 127.0.0.1 in plaats van localhost.

Heb je alle stappen die hierboven staan gevolgd en krijg je nog steeds de “error establishing a database connection” fout, ga dan door met de stappen hieronder.

Controleer database gegevens in Kinsta

Als je een Kinsta gebruiker bent dan is het proces om jouw inloggegevens te controleren tegen het wp-config.php bestand en de server een stuk makkelijker! Alles wat je hoeft te doen is op de “info” sectie van jouw website te klikken, richting de onderkant van de pagina zie je de database naam, database gebruikersnaam en het database wachtwoord. Standaard gebruikt Kinsta localhost voor de DB_HOST.

Kinsta database login gegevens

Kinsta database login gegevens

Gebruik deze nieuwe inloggegevens en update jouw wp-config.php bestand. Bij voorkeur update je de DB_USER en de DB_PASSWORD waardes. Dit zou het probleem met inloggegevens moeten oplossen. Mocht je deze gegevens moeten resetten, neem contact op met ons supportteam. Heb je alle stappen die hierboven staan gevolgd en krijg je nog steeds de “error establishing a database connection” fout, ga dan door met de stappen hieronder.

2. Beschadigde Database Repareren

In sommige gevallen is jouw database beschadigd geraakt. Dit kan soms voorkomen (al is dit niet heel vaak) aangezien er na een tijd honderden tabellen constant toegevoegd of verwijderd worden door nieuwe plugins en thema’s. Als je inlogt op het dashboard van jouw WordPress website en je de volgende melding krijgt, dan betekent het dat jouw database beschadigd is. “One or more database tables are unavailable”. Het kan nodig zijn dat de database wordt gerepareerd. Het is belangrijk om op te merken dat je deze foutmelding alleen in de back-end ziet, waar je de error establishing a database connection melding ook aan de voorkant ziet.

Onze klanten lossen dit probleem binnen enkele minuten op, rechtstreeks vanuit hun MyKinsta dashboard. Probeer Kinsta gratis.

WordPress heeft zelfs een databaseherstelmodus die je kan gebruiken. Voeg eenvoudig het volgende toe aan de onderkant van je wp-config.php-bestand.

define('WP_ALLOW_REPAIR', true);
WordPress reparatie modus

WordPress reparatie modus

Navigeer daarna naar de volgende locatie op jouw WordPress website: https://jouwdomein.nl/wp-admin/maint/repair.php. Je hebt daar de optie om de database te repareren of te database te repareren en te optimaliseren. Aangezien je waarschijnlijk je website aan het repareren bent raden wij aan om voor enkel de reparatie optie te kiezen, aangezien deze sneller is.

WordPress database reparatie

WordPress database reparatie

Wees er zeker van dat je, na het repareren, deze regel met code weer verwijderd uit jouw wp-config.php bestand. Doe je dit niet dan kan iedereen de database reparatie code uitvoeren. Als je gebruik maakt van cPannel dan kun je de reparatie opdracht ook uitvoeren vanuit het MySQL databases scherm.

cPanel database reparatie

cPanel database reparatie

Je kunt een reparatie ook uitvoeren vanuit phpMyAdmin. Log in op phpMyAdmin en klik op jouw database, selecteer alle tabellen. Kies daarna “tabel repareren” vanuit het dropdown menu. In essentie voer je dan het REPAIR TABLE commando uit.

Tabellen reparatie in phpMyAdmin

Tabellen reparatie in phpMyAdmin

Als je jouw database wilt optimaliseren hebben wij een aantal goede tutorials over het optimaliseren van WordPress revisies voor prestaties samen met een tutorial hoe je MyISAM tabellen kunt omzetten naar InnoDB. Heb je nog steeds problemen met je website? Ga dan door met de volgende stap.

Voorgestelde lezing: Hoe de “MySQL Server Has Gone Away” fout in WordPress te verhelpen.

3. Beschadigde bestanden repareren

De volgende mogelijke reden waarom je de “error establishing a database connection” fout ziet is dat je bestanden beschadigd zijn. Of dit nu komt door een probleem tijdens het overzetten van de bestanden met FTP, een hacker die toegang probeert te krijgen tot jouw website of een probleem met de host, je kunt dit gemakkelijk oplossen. Nogmaals, we raden wel aan altijd een backup te maken van je website voor dat je dit probeert.

Wat je eigenlijk doet is de kern van jouw WordPress installatie vervangen. Je raakt je plugins, thema’s of media niet aan. Enkel de WordPress installatie zelf. Om dit te doen moet je een nieuwe kopie van WordPress downloaden van WordPress.org.

WordPress downloaden

WordPress downloaden

Pak dit bestand uit op je computer. In de folder verwijder je de wp-content folder samen met het wp-config-sample.php bestand.

Verwijder de wp-content map

Verwijder de wp-content map

Upload daarna alle overgebleven bestanden via sFTP up naar jouw website, waarbij je alle bestaande bestanden overschrijft. Dit vervangt alle problematische bestanden en verzekert jou ervan dat je nieuwe schone bestanden hebt die niet beschadigd zijn. Het wordt aangeraden om hierna jouw browser cache te verwijderen. Controleer daarna op jouw WordPress website of je nog steeds last hebt van het probleem.

4. Problemen met jouw Database server

Indien het bovenstaande niet heeft geholpen om jouw probleem op te lossen, dan raden wij aan om samen met jouw hosting provider te controleren of het een probleem met de database server is. Bijvoorbeeld: als er teveel huidige verbindingen zijn met de database dan kan het de fout genereren. Dit komt omdat veel hosts een limiet op hun server hebben hoeveel verbindingen er tegelijkertijd actief kunnen zijn. Het gebruiken van een caching plugin kan helpen om de database interacties te minimaliseren op jouw website. Ben je een Kinsta klant? Dan heb je geen caching plugin nodig, aangezien wij snelle caching op server niveau hebben.

Dit probleem komt vaak voor op shared hosts aangezien iemand anders, theoretisch gezien, invloed kan uitoefenen op jouw website. Dit omdat shared hosts gebruik maken van dezelfde resources voor alle klanten op de server. Dit is nog een reden waarom wij altijd aanraden om een goed presterende managed WordPress host te kiezen. Dit betekend ook dat de omgeving is gefinetuned om grote hoeveelheden verkeer aan te kunnen, speciaal voor WordPress websites.

Het slimme Kinsta supportteam is altijd maar 1 klik verwijderd, aan de onderkant van het dashboard, en 24/7 beschikbaar als je hulp nodig hebt. Vergeet niet dat we vertegenwoordigers hebben die je kunnen assisteren in zowel Engels als Spaans.

Neem contact op met het Kinsta supportteam

Neem contact op met het Kinsta supportteam

5. Herstel laatste backup

En tenslotte, je kunt altijd een backup terugzetten indien dat nodig is. In sommige gevallen is dit een snellere manier om het probleem op te lossen, als je niet bang bent voor het verlies van data tussen nu en het moment dat de laatste backup is gemaakt. Veel hosting providers hebben hun eigen backup herstelproces. Onthoudt dat je mogelijk zowel je database als je bestanden moet herstellen.

Als Kinsta gebruiker kun je gemakkelijk een backup van jouw website te herstellen vanuit het Backup gedeelte van jouw website. Kies simpelweg vanaf welke tijd je terug wil zetten en klik op “Herstel”

WordPress backup herstellen

WordPress backup herstellen

Je ziet dan een scherm waarop bevestiging voor het herstellen van de backup gevraagd wordt. Vul de naam van jouw website in en klik op “OK”. Er wordt ook een backup van het moment van herstel gemaakt dus je kunt de herstel poging altijd weer ongedaan maken.

Bevestiging van het herstel

Bevestiging van het herstel.

Samenvatting

Zoals je kunt zien zijn er redelijk wat mogelijkheden om de “error establishing a database connection” foutmelding op te lossen. De meest voorkomende reden zijn de ongeldige gegevens in het wp-config.php bestand. Het controleren van deze gegevens is de beste plek om te beginnen. Het laatste wat je wilt voor een website is downtime. Hopelijk hebben de bovenstaande stappen je geholpen om jouw website terug online te krijgen. Vergeet niet dat je je site indien nodig altijd kunt herstellen met een back-up.

Heb jij ervaring met de foutmelding “error establishing a database connection” op jouw website? Zo ja, was het mogelijk om zelf op te lossen? Laat het ons weten in de reacties hieronder.


Als je dit artikel leuk vond, dan ga je Kinsta’s WordPress hosting platform ook heel erg leuk vinden! Of het nu gaat om het versnellen van je website of de 24/7 support van ons ervaren WordPress-team. Onze door Google Cloud aangedreven infrastructuur is gericht op automatische schaalbaarheid, prestaties en beveiliging. Laat ons jou het Kinsta verschil tonen! Bekijk onze pakketten