Error establishing a database connection in WordPress oplossen
In plaats van je website staat er alleen: “Error establishing a database connection”, of in het Nederlands “Fout bij het maken van een databaseverbinding”. WordPress kan dan niet bij de database waar al je pagina’s, berichten en instellingen in staan. Vervelend, maar je gegevens zijn meestal niet weg. In dit artikel lees je hoe je stap voor stap de oorzaak vindt.
Wat gaat er mis?
Bij elk bezoek vraagt WordPress de inhoud van de pagina op uit een MySQL- of MariaDB-database. Daarvoor gebruikt WordPress de gegevens uit wp-config.php: de naam van de database, de gebruiker, het wachtwoord en de server. Lukt het verbinden niet, dan kan WordPress niets tonen en verschijnt deze melding. De oorzaak ligt bijna altijd in één van deze vier hoeken:
- de inloggegevens in
wp-config.phpkloppen niet (meer); - de databaseserver is niet bereikbaar of overbelast;
- de database of een tabel is beschadigd;
- de hosting zit vol of heeft een limiet bereikt.
Stap 1: krijg je dezelfde melding in wp-admin?
Open /wp-admin. Zie je daar een andere melding, bijvoorbeeld dat een of meer tabellen niet beschikbaar zijn en de database gerepareerd moet worden, dan is de database bereikbaar maar beschadigd. Ga dan naar stap 4. Zie je dezelfde melding, ga dan verder met stap 2.
Stap 2: controleer de gegevens in wp-config.php
Open wp-config.php via het bestandsbeheer van je hosting of via FTP en kijk naar deze vier regels:
DB_NAME: de naam van de database;DB_USER: de databasegebruiker;DB_PASSWORD: het wachtwoord van die gebruiker;DB_HOST: meestallocalhost, maar bij sommige hosters een aparte servernaam.
Vergelijk ze met wat er in je hostingpaneel staat. Klopt het wachtwoord niet (meer), stel dan in het hostingpaneel een nieuw wachtwoord in voor de databasegebruiker en zet datzelfde wachtwoord in wp-config.php. Let op spaties en aanhalingstekens. Dit gaat vaak mis na een verhuizing naar andere hosting, of nadat iemand het databasewachtwoord heeft gewijzigd. Een verhuizing zelf doen? Lees dan eerst het stappenplan voor WordPress-migratie.
Stap 3: is de databaseserver bereikbaar?
Kloppen de gegevens, maar werkt het nog steeds niet, probeer dan in te loggen via phpMyAdmin of het databasebeheer in je hostingpaneel. Lukt dat ook niet, dan ligt het probleem bij de server. Mogelijke oorzaken:
- Storing bij de hoster. Kijk op de statuspagina van je hoster of neem contact op.
- Te veel verbindingen tegelijk, bijvoorbeeld door een piek in bezoekers of door bots. De fout komt en gaat dan.
- Schijf vol. Als de opslag vol is, kan de database niet meer schrijven. Ruim oude back-ups en logbestanden op of vraag meer ruimte.
- Geheugen op. Op een kleine server kan de database worden afgesloten als het geheugen opraakt.
Komt de fout regelmatig even terug en verdwijnt hij weer, dan is je hosting waarschijnlijk te krap of wordt je site overspoeld. Zie ook WordPress traag.
Stap 4: herstel beschadigde tabellen
WordPress heeft een ingebouwd herstelscherm. Zet tijdelijk deze regel in wp-config.php:
define( 'WP_ALLOW_REPAIR', true );
Ga daarna naar /wp-admin/maint/repair.php en kies Database repareren. Haal de regel daarna direct weer weg, want dit scherm is zonder inloggen bereikbaar. Je kunt tabellen ook repareren via phpMyAdmin. Maak in beide gevallen eerst een export van de database.
Stap 5: andere oorzaken
- Verkeerd adres na verhuizing. Klopt het tabelvoorvoegsel (
$table_prefix) inwp-config.phpmet de tabelnamen in de database? - Gehackte site. Soms past malware
wp-config.phpaan. Staan er vreemde regels in, lees dan WordPress gehackt: wat nu? - Back-up terugzetten. Is de database echt kapot, dan is een recente back-up de laatste uitweg. Bij een webshop raak je dan de nieuwste bestellingen kwijt.
Voorkomen dat het opnieuw gebeurt
Na het oplossen wil je niet dat dezelfde fout volgende maand terugkomt. Een paar maatregelen helpen. Noteer de databasegegevens op een veilige plek, zodat je ze bij een verhuizing of wachtwoordwijziging bij de hand hebt. Zorg voor dagelijkse back-ups van de database, buiten de server bewaard. Houd het schijfgebruik in de gaten en ruim oude back-ups en logbestanden op. Gebruik een paginacache, zodat niet elke bezoeker een databaseverbinding nodig heeft. En laat je waarschuwen door een uptime-monitor, zodat je weet dat de site plat ligt voordat een klant het meldt.
Hulp nodig?
Werken met databases en wp-config.php is precisiewerk: één verkeerde tekst en het wordt erger. Wil je het niet zelf doen, ga dan naar WordPress-spoedhulp. Om dit soort storingen te voorkomen kan je site draaien op onze WordPress hosting, met onderhoud waarin back-ups en controles zijn geregeld. Zie je een andere foutmelding, kijk dan bij kritieke fout of 500-fout.
Veelgestelde vragen
Wat betekent "Error establishing a database connection"?
WordPress kan geen verbinding maken met de database waarin je inhoud staat. Meestal kloppen de gegevens in wp-config.php niet, is de databaseserver onbereikbaar of is de database beschadigd.
Ben ik mijn website kwijt?
Meestal niet. De database bestaat nog; WordPress kan er alleen niet bij. Zodra de verbinding hersteld is, is alles weer zichtbaar.
Waar staan de databasegegevens van WordPress?
In wp-config.php in de hoofdmap van je site: DB_NAME, DB_USER, DB_PASSWORD en DB_HOST. Vergelijk ze met de gegevens in je hostingpaneel.
Hoe repareer ik de WordPress-database?
Zet tijdelijk WP_ALLOW_REPAIR op true in wp-config.php, ga naar /wp-admin/maint/repair.php en kies Database repareren. Haal de regel daarna weer weg. Maak eerst een export van de database.
Waarom komt de fout af en toe terug?
Vaak doordat de databaseserver overbelast raakt door bezoekerspieken of bots, of doordat de schijf of het geheugen van de hosting vol raakt.
Database onbereikbaar?
Bij WordPress-spoedhulp zoeken we uit waar de verbinding misgaat en zetten we je site weer online.
Naar WordPress-spoedhulp Plan een gratis gesprekLees ook: WordPress-spoedhulp · WordPress hosting · WordPress onderhoud · kritieke fout oplossen · 500-fout in WordPress · WordPress-migratie stappenplan